The SmartThings CLI is a tool to help with developing SmartApps and drivers for the SmartThings ecosystem.
brew install smartthingscommunity/smartthings/smartthings
Download and run the smartthings.msi
installer from the latest Release.
- Download the appropriate zipped binary from the latest Release.
- Extract and install it on your system path. It does not need administrator privileges but will need to be executable.
Run smartthings --version
and verify the version matches the latest release.
- Run
smartthings --help
to get more information on each command. - Run a specific command with
smartthings <command>
.
Many commands in the CLI handle complex input and/or output, mostly for use with the SmartThings REST API.
Complex input can always be passed as JSON or YAML and in a couple cases a "question and answer" mode is provided.
The output format will match the input format unless otherwise specified. When there is no input specified the default will be a user-friendly (often table) formatted style if the output is going to the console or JSON otherwise.
Name | Shortcut | Description |
---|---|---|
json | j | Write output in JSON format. |
yaml | y | Write output in YAML format. |
indent | Specify the number of spaces for YAML or JSON output | |
input | i | Specify a filename for input. |
output | o | Specify a filename for output. The extension of this file will control its type unless overridden with --json or --yaml . |
The CLI supports an automatic login flow that pops up a browser window asking you to log in and give the CLI permission to access your account. The CLI will automatically request login as needed.
You can also use a personal access token (PAT) for authentication by passing a --token <uuid>
flag to commands or by creating a
configuration file
and including the token in a token
key for your profile. We generally don't recommend this approach
since it less secure, given that PATs don't expire unless revoked by the user, but it can be useful when working with
headless servers or for users who frequently switch between accounts.
- You can get more specific information about any command or sub-hierarchy
of commands by using
--help
with a specific command or branch. For example, you can run any of the following commands for varying level of detail:smartthings capabilities --help
,smartthings capabilities:presentation --help
smartthings capabilities:presentation:create --help
- The CLI accepts data in YAML or JSON format and can output data in either format as well as the default table format.
- Commands that take input accept stdin or a file specified
by the
--input
(shortcut-i
) flag. - Commands that output data will output the data to stdout unless a file
is specified the using
--output (shortcut
-o`) flag. - When no output format is specified, the CLI outputs a summary of the most useful information
in table format. For full details, use
--json
(-j
) or--yaml
(-y
). - When a command takes input and results in output, the format of the output
will match the input format unless an output filename is specified
using
--output
with a different extension. - Command line flags must go after the command. Use
smartthings command -f flag
instead ofsmartthings -f flag command
. - You can open an issue to report a bug or ask a question.
Commands that use the SmartThings REST API are organized in topics that map to the API spec.
smartthings apps [ID]
smartthings apps:authorize ARN
smartthings apps:create
smartthings apps:delete [ID]
smartthings apps:oauth [ID]
smartthings apps:oauth:generate [ID]
smartthings apps:oauth:update [ID]
smartthings apps:register [ID]
smartthings apps:settings [ID]
smartthings apps:settings:update [ID]
smartthings apps:update [ID]
smartthings autocomplete [SHELL]
smartthings capabilities [ID] [VERSION]
smartthings capabilities:create
smartthings capabilities:delete [ID] [VERSION]
smartthings capabilities:namespaces
smartthings capabilities:presentation [ID] [VERSION]
smartthings capabilities:presentation:create [ID] [VERSION]
smartthings capabilities:presentation:update [ID] [VERSION]
smartthings capabilities:translations [ID] [VERSION] [TAG]
smartthings capabilities:translations:create [ID] [VERSION]
smartthings capabilities:translations:update [ID] [VERSION]
smartthings capabilities:translations:upsert [ID] [VERSION]
smartthings capabilities:update [ID] [VERSION]
smartthings config [NAME]
smartthings config:reset
smartthings devicepreferences [IDORINDEX]
smartthings devicepreferences:create
smartthings devicepreferences:translations [PREFERENCEID] [TAG]
smartthings devicepreferences:translations:create [PREFERENCEID]
smartthings devicepreferences:translations:update [PREFERENCEID]
smartthings devicepreferences:update [ID]
smartthings deviceprofiles [ID]
smartthings deviceprofiles:create
smartthings deviceprofiles:delete [ID]
smartthings deviceprofiles:device-config [ID]
smartthings deviceprofiles:presentation [ID]
smartthings deviceprofiles:publish [ID]
smartthings deviceprofiles:translations [ID] [TAG]
smartthings deviceprofiles:translations:delete [ID] [TAG]
smartthings deviceprofiles:translations:upsert [ID]
smartthings deviceprofiles:update [ID]
smartthings deviceprofiles:view [ID]
smartthings deviceprofiles:view:create
smartthings deviceprofiles:view:update [ID]
smartthings devices [ID]
smartthings devices:capability-status [ID] [COMPONENT] [CAPABILITY]
smartthings devices:commands [ID] [COMMAND]
smartthings devices:component-status [ID] [COMPONENT]
smartthings devices:delete [ID]
smartthings devices:health [ID]
smartthings devices:history [ID]
smartthings devices:preferences [ID]
smartthings devices:presentation [ID]
smartthings devices:rename [ID] [LABEL]
smartthings devices:status [ID]
smartthings devices:update [ID]
smartthings edge:channels [IDORINDEX]
smartthings edge:channels:assign [DRIVERID] [VERSION]
smartthings edge:channels:create
smartthings edge:channels:delete [ID]
smartthings edge:channels:drivers [IDORINDEX]
smartthings edge:channels:enroll [HUBID]
smartthings edge:channels:enrollments [IDORINDEX]
smartthings edge:channels:invites [IDORINDEX]
smartthings edge:channels:invites:accept ID
smartthings edge:channels:invites:create
smartthings edge:channels:invites:delete [ID]
smartthings edge:channels:metainfo [IDORINDEX]
smartthings edge:channels:unassign [DRIVERID]
smartthings edge:channels:unenroll [HUBID]
smartthings edge:channels:update [ID]
smartthings edge:drivers [IDORINDEX]
smartthings edge:drivers:default [IDORINDEX]
smartthings edge:drivers:delete [ID]
smartthings edge:drivers:devices [IDORINDEX]
smartthings edge:drivers:install [DRIVERID]
smartthings edge:drivers:installed [IDORINDEX]
smartthings edge:drivers:logcat [DRIVERID]
smartthings edge:drivers:package [PROJECTDIRECTORY]
smartthings edge:drivers:prune [DRIVERID]
smartthings edge:drivers:switch [DEVICEID]
smartthings edge:drivers:uninstall [DRIVERID]
smartthings help [COMMAND]
smartthings installedapps [ID]
smartthings installedapps:delete [ID]
smartthings installedapps:rename [ID] [NAME]
smartthings installedschema [ID]
smartthings installedschema:delete [ID]
smartthings invites:schema [IDORINDEX]
smartthings invites:schema:create
smartthings invites:schema:delete [ID]
smartthings locations [IDORINDEX]
smartthings locations:create
smartthings locations:delete [ID]
smartthings locations:history [ID]
smartthings locations:modes [IDORINDEX]
smartthings locations:modes:create
smartthings locations:modes:delete [ID]
smartthings locations:modes:getcurrent
smartthings locations:modes:setcurrent [ID]
smartthings locations:modes:update [ID]
smartthings locations:rooms [IDORINDEX]
smartthings locations:rooms:create
smartthings locations:rooms:delete [ID]
smartthings locations:rooms:update [ID]
smartthings locations:update [ID]
smartthings logout
smartthings organizations [ID]
smartthings organizations:current
smartthings plugins
smartthings plugins:install PLUGIN...
smartthings plugins:inspect PLUGIN...
smartthings plugins:install PLUGIN...
smartthings plugins:link PLUGIN
smartthings plugins:uninstall PLUGIN...
smartthings plugins:uninstall PLUGIN...
smartthings plugins:uninstall PLUGIN...
smartthings plugins:update
smartthings presentation PRESENTATIONID [MANUFACTURERNAME]
smartthings presentation:device-config PRESENTATIONID [MANUFACTURERNAME]
smartthings presentation:device-config:create
smartthings presentation:device-config:generate ID
smartthings rules [IDORINDEX]
smartthings rules:create
smartthings rules:delete [ID]
smartthings rules:execute [ID]
smartthings rules:update [ID]
smartthings scenes [IDORINDEX]
smartthings scenes:execute [ID]
smartthings schema [ID]
smartthings schema:authorize ARN
smartthings schema:create
smartthings schema:delete [ID]
smartthings schema:regenerate [ID]
smartthings schema:update [ID]
smartthings virtualdevices [ID]
smartthings virtualdevices:create
smartthings virtualdevices:create-standard
smartthings virtualdevices:delete [ID]
smartthings virtualdevices:events [ID] [NAME] [VALUE] [UNIT]
smartthings virtualdevices:update [ID]
get a specific app or a list of apps
USAGE
$ smartthings apps [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
[--type <value>] [--classification <value>] [-v]
ARGUMENTS
ID the app id or number from list
FLAGS
-v, --verbose include URLs and ARNs in table output
--classification=<value>... filter results by one or more classifications, AUTOMATION, SERVICE, DEVICE,
CONNECTED_SERVICE
--type=<value> filter results by appType, WEBHOOK_SMART_APP, LAMBDA_SMART_APP, API_ONLY
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get a specific app or a list of apps
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listApps,
https://developer.smartthings.com/docs/api/public/#operation/getApp
EXAMPLES
list all apps
$ smartthings apps
list the first app in the list retrieved by running "smartthings apps"
$ smartthings apps 1
list an app by id
$ smartthings apps 5dfd6626-ab1d-42da-bb76-90def3153998
include URLs and ARNs in the output
$ smartthings apps --verbose
list SERVICE classification apps
$ smartthings apps --classification SERVICE
list API-only apps
$ smartthings apps --type API_ONLY
See code: src/commands/apps.ts
authorize calls to your AWS Lambda function from SmartThings
USAGE
$ smartthings apps:authorize [ARN] [-h] [-p <value>] [--principal <value>] [--statement <value>]
ARGUMENTS
ARN the ARN of the AWS Lambda function
FLAGS
--principal=<value> use this principal instead of the default when authorizing lambda functions
--statement=<value> use this statement id instead of the default when authorizing lambda functions
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
DESCRIPTION
authorize calls to your AWS Lambda function from SmartThings
EXAMPLES
authorize an app
NOTE: This command is the same as running the following with the AWS CLI:
$ aws lambda add-permission --region us-east-1 --function-name \
> arn:aws:lambda:us-east-1:1234567890:function:your-test-app \
> --statement smartthings --principal 906037444270 --action lambda:InvokeFunction
This command requires your machine to be configured to run the AWS CLI.
$ smartthings apps:authorize arn:aws:lambda:us-east-1:1234567890:function:your-test-app
See code: src/commands/apps/authorize.ts
create an app
USAGE
$ smartthings apps:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [--authorize] [--principal <value>] [--statement <value>]
FLAGS
-d, --dry-run produce JSON but don't actually submit
--authorize authorize Lambda functions to be called by SmartThings
--principal=<value> use this principal instead of the default when authorizing lambda functions
--statement=<value> use this statement id instead of the default when authorizing lambda functions
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create an app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createApp
EXAMPLES
create an OAuth-In app from prompted input
$ smartthings apps:create
create an app defined in "my-app.yaml"
$ smartthings apps:create -i my-app.yaml
create an app defined in "my-app.json" and then authorize it
(See "smartthings apps:authorize" for more information on authorization.)
$ smartthings apps:create -i my-app.json --authorize
See code: src/commands/apps/create.ts
delete an app
USAGE
$ smartthings apps:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>]
ARGUMENTS
ID app UUID
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete an app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteApp
EXAMPLES
select app to delete from list
$ smartthings apps:delete
delete a specific app by id
$ smartthings apps:delete 5dfd6626-ab1d-42da-bb76-90def3153998
See code: src/commands/apps/delete.ts
get OAuth information for the app
USAGE
$ smartthings apps:oauth [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the app id or number in the list
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get OAuth information for the app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getAppOauth
EXAMPLES
prompt for an app and list OAuth information for it
$ smartthings apps:oauth
list OAuth information for the second app in the list generated by "smartthings apps"
$ smartthings apps:oauth 2
list OAuth information for the app with the given id
$ smartthings apps:oauth 392bcb11-e251-44f3-b58b-17f93015f3aa
See code: src/commands/apps/oauth.ts
regenerate the OAuth clientId and clientSecret of an app
USAGE
$ smartthings apps:oauth:generate [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
ARGUMENTS
ID the app id
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
regenerate the OAuth clientId and clientSecret of an app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/generateAppOauth
EXAMPLES
regenerate the OAuth clientId and clientSecret of the app with the given id
$ smartthings apps:oauth:generate 392bcb11-e251-44f3-b58b-17f93015f3aa
See code: src/commands/apps/oauth/generate.ts
update the OAuth settings of an app
USAGE
$ smartthings apps:oauth:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
ARGUMENTS
ID the app id
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update the OAuth settings of an app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateAppOauth
EXAMPLES
prompt for an app and update its OAuth settings interactively"
$ smartthings apps:oauth:update
prompt for an app and update its OAuth settings using the data in "oauth-settings.json"
$ smartthings apps:oauth:update -i oauth-settings.json
update the OAuth settings for the app with the given id using the data in "oauth-settings.json"
$ smartthings apps:oauth:update 392bcb11-e251-44f3-b58b-17f93015f3aa -i oauth-settings.json
See code: src/commands/apps/oauth/update.ts
send request to app target URL to confirm existence and authorize lifecycle events
USAGE
$ smartthings apps:register [ID] [-h] [-p <value>] [-t <value>] [--language <value>]
ARGUMENTS
ID the app id
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
send request to app target URL to confirm existence and authorize lifecycle events
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/register
EXAMPLES
send registration request to the app with the given id
$ smartthings apps:register 392bcb11-e251-44f3-b58b-17f93015f3aa
See code: src/commands/apps/register.ts
get the settings of an app
USAGE
$ smartthings apps:settings [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the app id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the settings of an app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getAppSettings
EXAMPLES
choose an app from a list and get its settings
$ smartthings apps:settings
get the settings of the app with the given id
$ smartthings apps:settings 392bcb11-e251-44f3-b58b-17f93015f3aa
get the settings of the third app in the list generated by "smartthings apps"
$ smartthings apps:settings 3
See code: src/commands/apps/settings.ts
update the settings of an app
USAGE
$ smartthings apps:settings:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
ARGUMENTS
ID the app id
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update the settings of an app
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateAppSettings
EXAMPLES
update the settings of the app with the given id using the data in "app-settings.json"
$ smartthings apps:settings:update 392bcb11-e251-44f3-b58b-17f93015f3aa -i app-settings.json
ask for the ID of an app to update and then update it using the data in "app-settings.json"
$ smartthings apps:settings:update -i app-settings.json
See code: src/commands/apps/settings/update.ts
update the settings of the app
USAGE
$ smartthings apps:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [--authorize] [--principal <value>] [--statement <value>]
ARGUMENTS
ID the app id
FLAGS
-d, --dry-run produce JSON but don't actually submit
--authorize authorize Lambda functions to be called by SmartThings
--principal=<value> use this principal instead of the default when authorizing lambda functions
--statement=<value> use this statement id instead of the default when authorizing lambda functions
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update the settings of the app
See apps:oauth:update and apps:oauth:generate for updating oauth-related data.
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateApp
EXAMPLES
prompt for an app and edit it interactively
$ smartthings apps:update
prompt for an app and update it using the data in "my-app.json"
$ smartthings apps:update -i my-app.json
update the app with the given id using the data in "my-app.json"
$ smartthings apps:update 392bcb11-e251-44f3-b58b-17f93015f3aa -i my-app.json
update the given app using the data in "my-app.json" and then authorize it
(See "smartthings apps:authorize" for more information on authorization.)
$ smartthings apps:update 392bcb11-e251-44f3-b58b-17f93015f3aa -i my-app.json --authorize
See code: src/commands/apps/update.ts
display autocomplete installation instructions
USAGE
$ smartthings autocomplete [SHELL] [-r]
ARGUMENTS
SHELL shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
display autocomplete installation instructions
EXAMPLES
$ smartthings autocomplete
$ smartthings autocomplete bash
$ smartthings autocomplete zsh
$ smartthings autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
get a specific capability or a list of capabilities
USAGE
$ smartthings capabilities [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-A] [-n <value>] [-s]
ARGUMENTS
ID the capability id or number in list
VERSION the capability version
FLAGS
-A, --all-organizations include entities from all organizations the user belongs to
-O, --organization=<value> the organization ID to use for this command
-n, --namespace=<value> a specific namespace to query; will use all by default
-s, --standard show standard SmartThings capabilities
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get a specific capability or a list of capabilities
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listNamespacedCapabilities,
https://developer.smartthings.com/docs/api/public/#operation/listCapabilities,
https://developer.smartthings.com/docs/api/public/#operation/getCapability
See code: src/commands/capabilities.ts
create a capability for a user
USAGE
$ smartthings capabilities:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d] [-n <value>]
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
-n, --namespace=<value> the namespace to create the capability under
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a capability for a user
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createCapability
See code: src/commands/capabilities/create.ts
delete a capability
USAGE
$ smartthings capabilities:delete [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a capability
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteCapability
See code: src/commands/capabilities/delete.ts
list all capability namespaces currently available in a user account
USAGE
$ smartthings capabilities:namespaces [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all capability namespaces currently available in a user account
See code: src/commands/capabilities/namespaces.ts
get presentation information for a specific capability
USAGE
$ smartthings capabilities:presentation [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-n <value>]
ARGUMENTS
ID the capability id or number in list
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-n, --namespace=<value> a specific namespace to query; will use all by default
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get presentation information for a specific capability
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getCapabilityPresentation
See code: src/commands/capabilities/presentation.ts
create presentation model for a capability
USAGE
$ smartthings capabilities:presentation:create [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create presentation model for a capability
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createCustomCapabilityPresentation
See code: src/commands/capabilities/presentation/create.ts
update presentation information of a capability
USAGE
$ smartthings capabilities:presentation:update [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update presentation information of a capability
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateCustomCapabilityPresentation
See code: src/commands/capabilities/presentation/update.ts
get list of locales supported by the capability
USAGE
$ smartthings capabilities:translations [ID] [VERSION] [TAG] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
[-j] [-y] [-o <value>] [-n <value>] [-v]
ARGUMENTS
ID the capability id or number in list
VERSION the capability version
TAG the locale tag
FLAGS
-O, --organization=<value> the organization ID to use for this command
-n, --namespace=<value> a specific namespace to query; will use all by default
-v, --verbose include list of supported locales in table output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get list of locales supported by the capability
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listCapabilityLocalizations,
https://developer.smartthings.com/docs/api/public/#operation/getCapabilityLocalization
EXAMPLES
$ smartthings capabilities:translations
┌───┬─────────────────────────────┬─────────┬──────────┐
│ # │ Id │ Version │ Status │
├───┼─────────────────────────────┼─────────┼──────────┤
│ 1 │ custom1.outputModulation │ 1 │ proposed │
│ 2 │ custom1.outputVoltage │ 1 │ proposed │
└───┴─────────────────────────────┴─────────┴──────────┘
? Select a capability. 1
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 2 │ ko │
└───┴─────┘
$ st capabilities:translations -v
┌───┬─────────────────────────────┬─────────┬──────────┬────────────┐
│ # │ Id │ Version │ Status │ Locales │
├───┼─────────────────────────────┼─────────┼──────────┼────────────┤
│ 1 │ custom1.outputModulation │ 1 │ proposed │ ko, en, es │
│ 2 │ custom1.outputVoltage │ 1 │ proposed │ en │
└───┴─────────────────────────────┴─────────┴──────────┴────────────┘
? Select a capability. 1
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 1 │ es │
│ 2 │ ko │
└───┴─────┘
$ smartthings capabilities:translations 1
$ smartthings capabilities:translations custom1.outputModulation
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 2 │ ko │
└───┴─────┘
$ smartthings capabilities:translations 1 1
$ smartthings capabilities:translations 1 en
$ smartthings capabilities:translations custom1.outputModulation 1 1
$ smartthings capabilities:translations custom1.outputModulation 1 en
$ smartthings capabilities:translations custom1.outputModulation en
Tag: en
Attributes:
┌────────────────────────┬───────────────────┬────────────────────────────────┬────────────────────────────────────────────────────┐
│ Name │ Label │ Description │ Template │
├────────────────────────┼───────────────────┼────────────────────────────────┼────────────────────────────────────────────────────┤
│ outputModulation │ Output Modulation │ Power supply output modulation │ The {{attribute}} of {{device.label}} is {{value}} │
│ outputModulation.50hz │ 50 Hz │ │ │
│ outputModulation.60hz │ 60 Hz │ │ │
└────────────────────────┴───────────────────┴────────────────────────────────┴────────────────────────────────────────────────────┘
Commands
┌──────────────────────────────────────┬───────────────────────┬──────────────────────────────────────────────────┐
│ Name │ Label │ Description │
├──────────────────────────────────────┼───────────────────────┼──────────────────────────────────────────────────┤
│ setOutputModulation │ Set Output Modulation │ Set the output modulation to the specified value │
│ setOutputModulation.outputModulation │ Output Modulation │ The desired output modulation │
└──────────────────────────────────────┴───────────────────────┴──────────────────────────────────────────────────┘
See code: src/commands/capabilities/translations.ts
create a capability translation
USAGE
$ smartthings capabilities:translations:create [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a capability translation
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createCapabilityLocalization
EXAMPLES
$ smartthings capabilities:translations:create custom1.outputModulation 1 -i en.yaml
tag: en
label: Output Modulation
attributes:
outputModulation:
label: Output Modulation
displayTemplate: 'The {{attribute}} of {{device.label}} is {{value}}'
i18n:
value:
50hz:
label: 50 Hz
60hz:
label: 60 Hz
commands:
setOutputModulation:
label: Set Output Modulation
arguments:
outputModulation:
label: Output Modulation
$ smartthings capabilities:translations:create -i en.yaml
┌───┬─────────────────────────────┬─────────┬──────────┐
│ # │ Id │ Version │ Status │
├───┼─────────────────────────────┼─────────┼──────────┤
│ 1 │ custom1.outputModulation │ 1 │ proposed │
│ 2 │ custom1.outputVoltage │ 1 │ proposed │
└───┴─────────────────────────────┴─────────┴──────────┘
? Enter id or index 1
tag: en
label: Output Modulation
attributes:
outputModulation:
label: Output Modulation
displayTemplate: 'The {{attribute}} of {{device.label}} is {{value}}'
i18n:
value:
50hz:
label: 50 Hz
60hz:
label: 60 Hz
commands:
setOutputModulation:
label: Set Output Modulation
arguments:
outputModulation:
label: Output Modulation
See code: src/commands/capabilities/translations/create.ts
update a capability translation
USAGE
$ smartthings capabilities:translations:update [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a capability translation
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateCapabilityLocalization
EXAMPLES
$ smartthings capabilities:translations:update custom1.outputModulation 1 -i en.yaml
tag: en
label: Output Modulation
attributes:
outputModulation:
label: Output Modulation
displayTemplate: 'The {{attribute}} of {{device.label}} is {{value}}'
i18n:
value:
50hz:
label: 50 Hz
60hz:
label: 60 Hz
commands:
setOutputModulation:
label: Set Output Modulation
arguments:
outputModulation:
label: Output Modulation
$ smartthings capabilities:translations:update -i en.yaml
┌───┬─────────────────────────────┬─────────┬──────────┐
│ # │ Id │ Version │ Status │
├───┼─────────────────────────────┼─────────┼──────────┤
│ 1 │ custom1.outputModulation │ 1 │ proposed │
│ 2 │ custom1.outputVoltage │ 1 │ proposed │
└───┴─────────────────────────────┴─────────┴──────────┘
? Enter id or index 1
tag: en
label: Output Modulation
attributes:
outputModulation:
label: Output Modulation
displayTemplate: 'The {{attribute}} of {{device.label}} is {{value}}'
i18n:
value:
50hz:
label: 50 Hz
60hz:
label: 60 Hz
commands:
setOutputModulation:
label: Set Output Modulation
arguments:
outputModulation:
label: Output Modulation
See code: src/commands/capabilities/translations/update.ts
create or update a capability translation
USAGE
$ smartthings capabilities:translations:upsert [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create or update a capability translation
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateCapabilityLocalization,
https://developer.smartthings.com/docs/api/public/#operation/createCapabilityLocalization
EXAMPLES
$ smartthings capabilities:translations:upsert custom1.outputModulation 1 -i en.yaml
tag: en
label: Output Modulation
attributes:
outputModulation:
label: Output Modulation
displayTemplate: 'The {{attribute}} of {{device.label}} is {{value}}'
i18n:
value:
50hz:
label: 50 Hz
60hz:
label: 60 Hz
commands:
setOutputModulation:
label: Set Output Modulation
arguments:
outputModulation:
label: Output Modulation
$ smartthings capabilities:translations:upsert -i en.yaml
┌───┬─────────────────────────────┬─────────┬──────────┐
│ # │ Id │ Version │ Status │
├───┼─────────────────────────────┼─────────┼──────────┤
│ 1 │ custom1.outputModulation │ 1 │ proposed │
│ 2 │ custom1.outputVoltage │ 1 │ proposed │
└───┴─────────────────────────────┴─────────┴──────────┘
? Enter id or index 1
tag: en
label: Output Modulation
attributes:
outputModulation:
label: Output Modulation
displayTemplate: 'The {{attribute}} of {{device.label}} is {{value}}'
i18n:
value:
50hz:
label: 50 Hz
60hz:
label: 60 Hz
commands:
setOutputModulation:
label: Set Output Modulation
arguments:
outputModulation:
label: Output Modulation
See code: src/commands/capabilities/translations/upsert.ts
update a capability
USAGE
$ smartthings capabilities:update [ID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the capability id
VERSION the capability version
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a capability
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateCapability
See code: src/commands/capabilities/update.ts
list config file entries
USAGE
$ smartthings config [NAME] [-h] [-p <value>] [-j] [-y] [-o <value>] [-v]
ARGUMENTS
NAME the config name
FLAGS
-v, --verbose Include additional data in table output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-y, --yaml use YAML format of input and/or output
DESCRIPTION
list config file entries
See code: src/commands/config.ts
clear saved answers to questions
USAGE
$ smartthings config:reset [-h] [-p <value>]
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
DESCRIPTION
clear saved answers to questions
The CLI will occasionally ask you if you want it to remember the answer to a question, such as "Which hub do you want
to use?" You can use this command to clear those answers.
See code: src/commands/config/reset.ts
list device preferences or get information for a specific device preference
USAGE
$ smartthings devicepreferences [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-A] [-n <value>] [-s]
ARGUMENTS
IDORINDEX device preference id or index
FLAGS
-A, --all-organizations include entities from all organizations the user belongs to
-O, --organization=<value> the organization ID to use for this command
-n, --namespace=<value> a specific namespace to query; will use all by default
-s, --standard show standard SmartThings device preferences
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list device preferences or get information for a specific device preference
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listPreferences,
https://developer.smartthings.com/docs/api/public/#operation/getPreferenceById
EXAMPLES
list all device preferences, sorted by title
$ smartthings devicepreferences
display details for preference with specified id
$ smartthings devicepreferences motionSensitivity
display details for second item in list of preferences when sorted by title
$ smartthings devicepreferences 2
display details for third preference as YAML
$ smartthings devicepreferences 3 -y
write details as JSON for third preference to dp.json
$ smartthings devicepreferences 3 -o dp.json
See code: src/commands/devicepreferences.ts
create a device preference
USAGE
$ smartthings devicepreferences:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a device preference
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createPreference
EXAMPLES
create a new device preference by answering questions
$ smartthings devicepreferences:create
generate a device preference by answering questions but do not actually create it
$ smartthings devicepreferences:create -d
create a new device preference defined by the file dp.json
$ smartthings devicepreferences:create -i dp.json
create a new device preference defined by the file dp.json and write the results to dp - saved.json
$ smartthings devicepreferences:create - i dp.json - o dp - saved.json
See code: src/commands/devicepreferences/create.ts
get translated device preference values in a desired locale
USAGE
$ smartthings devicepreferences:translations [PREFERENCEID] [TAG] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
[-j] [-y] [-o <value>]
ARGUMENTS
PREFERENCEID device preference id or index
TAG the locale tag
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get translated device preference values in a desired locale
EXAMPLES
answer a series of questions to choose device preference and list locales
$ smartthings devicepreferences:translation
list locales for a specific device preference ID
$ smartthings devicepreferences:translations motionSensitivity
specify device preference ID and locale to get translated device preference values
$ smartthings devicepreferences:translations motionSensitivity ko
See code: src/commands/devicepreferences/translations.ts
create a device preference translation
USAGE
$ smartthings devicepreferences:translations:create [PREFERENCEID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
PREFERENCEID device preference id or index
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a device preference translation
EXAMPLES
create a device preference translation as defined in the file preferenceTranslation.json
$ smartthings devicepreferences:translations:create -i preferenceTranslation.json
See code: src/commands/devicepreferences/translations/create.ts
update a device preference translation
USAGE
$ smartthings devicepreferences:translations:update [PREFERENCEID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
PREFERENCEID device preference id or index
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a device preference translation
EXAMPLES
select a translation from a list and update it with the data in the file preferenceTranslation.json
$ smartthings devicepreferences:translations:update -i preferenceTranslation.json
See code: src/commands/devicepreferences/translations/update.ts
update a device preference
USAGE
$ smartthings devicepreferences:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
ARGUMENTS
ID the device preference id
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a device preference
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updatePreferenceById
EXAMPLES
select a device preference from a list and update it with data from dp.json
$ smartthings devicepreferences:update -i dp.json
update specified device preference with data from dp.yaml
$ smartthings devicepreferences:update -i dp.yaml motionSensitivity
See code: src/commands/devicepreferences/update.ts
list all device profiles available in a user account or retrieve a single profile
USAGE
$ smartthings deviceprofiles [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>] [-A] [-v]
ARGUMENTS
ID device profile to retrieve; UUID or the number of the profile from list
FLAGS
-A, --all-organizations include entities from all organizations the user belongs to
-O, --organization=<value> the organization ID to use for this command
-v, --verbose include presentationId and manufacturerName in list output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all device profiles available in a user account or retrieve a single profile
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listDeviceProfiles,
https://developer.smartthings.com/docs/api/public/#operation/getDeviceProfile
EXAMPLES
$ smartthings deviceprofiles # list all device profiles
$ smartthings deviceprofiles bb0fdc5-...-a8bd2ea # show device profile with the specified UUID
$ smartthings deviceprofiles 2 # show the second device profile in the list
$ smartthings deviceprofiles 3 -j # show the profile in JSON format
$ smartthings deviceprofiles 5 -y # show the profile in YAML format
$ smartthings deviceprofiles 4 -j -o profile.json # write the profile to the file "profile.json"
See code: src/commands/deviceprofiles.ts
create a new device profile
USAGE
$ smartthings deviceprofiles:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a new device profile
Creates a new device profile. If a vid field is not present in the meta then a default device presentation will be
created for this profile and the vid set to reference it.
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createDeviceProfile
EXAMPLES
$ smartthings deviceprofiles:create -i myprofile.json # create a device profile from the JSON file definition
$ smartthings deviceprofiles:create -i myprofile.yaml # create a device profile from the YAML file definition
$ smartthings deviceprofiles:create # create a device profile with interactive dialog
See code: src/commands/deviceprofiles/create.ts
delete a device profile
USAGE
$ smartthings deviceprofiles:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
ARGUMENTS
ID Device profile UUID or number in the list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a device profile
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteDeviceProfile
EXAMPLES
$ smartthings deviceprofiles:delete 63b8c91e-9686-4c43-9afb-fbd9f77e3bb0 # delete profile with this UUID
$ smartthings deviceprofiles:delete 5 # delete the 5th profile in the list
See code: src/commands/deviceprofiles/delete.ts
get the device configuration associated with a device profile
USAGE
$ smartthings deviceprofiles:device-config [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID device profile id or the number in list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the device configuration associated with a device profile
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceProfile,
https://developer.smartthings.com/docs/api/public/#operation/getDeviceConfiguration
See code: src/commands/deviceprofiles/device-config.ts
get the presentation associated with a device profile
USAGE
$ smartthings deviceprofiles:presentation [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID device profile UUID or the number of the profile from list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the presentation associated with a device profile
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceProfile,
https://developer.smartthings.com/docs/api/public/#operation/getDevicePresentation
EXAMPLES
$ smartthings deviceprofiles:presentation fd4adb7f-4a23-4134-9b39-05ed889a03cf
$ smartthings deviceprofiles:presentation fd4adb7f-4a23-4134-9b39-05ed889a03cf --language=ko
$ smartthings deviceprofiles:presentation fd4adb7f-4a23-4134-9b39-05ed889a03cf --language=NONE
Specifying only the presentationId defaults to the "SmartThingsCommunity" manufacturer
name and the language set for the computer's operating system. The language can be
overridden by specifying an ISO language code. If "NONE" is specified for the language
flag then no language header is specified in the API request
See code: src/commands/deviceprofiles/presentation.ts
publish a device profile (published profiles cannot be modified)
USAGE
$ smartthings deviceprofiles:publish [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID device profile id
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
publish a device profile (published profiles cannot be modified)
See code: src/commands/deviceprofiles/publish.ts
get list of locales supported by the device profiles
USAGE
$ smartthings deviceprofiles:translations [ID] [TAG] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y]
[-o <value>] [-v]
ARGUMENTS
ID UUID or the number of the profile from list
TAG the locale tag or number of the tag from list
FLAGS
-O, --organization=<value> the organization ID to use for this command
-v, --verbose include list of locales in table output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get list of locales supported by the device profiles
EXAMPLES
$ smartthings deviceprofiles:translations
┌────┬─────────────────────┬─────────────┬──────────────────────────────────────┐
│ # │ Name │ Status │ Id │
├────┼─────────────────────┼─────────────┼──────────────────────────────────────┤
│ 1 │ Test Switch │ DEVELOPMENT │ 58e73d0c-b5a5-4814-b344-c10f4ff357bb │
│ 2 │ Two Channel Outlet │ DEVELOPMENT │ 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 │
└────┴─────────────────────┴─────────────┴──────────────────────────────────────┘
? Select a Device Profile. 2
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 2 │ es │
└───┴─────┘
$ smartthings deviceprofiles:translations -v
┌────┬─────────────────────┬─────────────┬──────────────────────────────────────┬─────────┐
│ # │ Name │ Status │ Id │ Locales │
├────┼─────────────────────┼─────────────┼──────────────────────────────────────┼─────────┤
│ 1 │ Test Switch │ DEVELOPMENT │ 58e73d0c-b5a5-4814-b344-c10f4ff357bb │ │
│ 2 │ Two Channel Outlet │ DEVELOPMENT │ 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 │ en, es │
└────┴─────────────────────┴─────────────┴──────────────────────────────────────┴─────────┘
? Select a Device Profile. 2
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 2 │ es │
└───┴─────┘
$ smartthings deviceprofiles:translations 2
$ smartthings deviceprofiles:translations 3acbf2fc-6be2-4be0-aeb5-c10f4ff357bb
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 2 │ es │
└───┴─────┘
$ smartthings deviceprofiles:translations 2 2
$ smartthings deviceprofiles:translations 2 en
$ smartthings deviceprofiles:translations 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 en
Tag: en
┌───────────┬────────────┬───────────────────────────────┐
│ Component │ Label │ Description │
├───────────┼────────────┼───────────────────────────────┤
│ main │ Main Power │ Controls power to all outlets │
│ outlet1 │ Outlet One │ Switchable outlet 1 power │
│ outlet2 │ Outlet two │ Switchable outlet 1 power │
└───────────┴────────────┴───────────────────────────────┘
See code: src/commands/deviceprofiles/translations.ts
delete a device profile translation
USAGE
$ smartthings deviceprofiles:translations:delete [ID] [TAG] [-h] [-p <value>] [-t <value>] [--language <value>] [-O
<value>]
ARGUMENTS
ID device profile UUID or number in the list
TAG the locale tag
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a device profile translation
EXAMPLES
$ smartthings deviceprofiles:translations:delete 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 en
Device profile "3acbf2fc-6be2-4be0-aeb5-44759cbd66c2" translation "en" deleted
$ smartthings deviceprofiles:translations:delete
┌────┬─────────────────────┬─────────────┬──────────────────────────────────────┐
│ # │ Name │ Status │ Id │
├────┼─────────────────────┼─────────────┼──────────────────────────────────────┤
│ 1 │ Test Switch │ DEVELOPMENT │ 58e73d0c-b5a5-4814-b344-c10f4ff357bb │
│ 2 │ Two Channel Outlet │ DEVELOPMENT │ 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 │
└────┴─────────────────────┴─────────────┴──────────────────────────────────────┘
? Enter id or index 2
┌───┬─────┐
│ # │ Tag │
├───┼─────┤
│ 1 │ en │
│ 2 │ es │
└───┴─────┘
? Enter id or index 1
Device profile "3acbf2fc-6be2-4be0-aeb5-44759cbd66c2" translation "en" deleted
See code: src/commands/deviceprofiles/translations/delete.ts
create or update a device profile translation
USAGE
$ smartthings deviceprofiles:translations:upsert [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
ARGUMENTS
ID UUID or the number of the profile from list
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create or update a device profile translation
EXAMPLES
$ smartthings deviceprofiles:translations:upsert 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 -i en.yaml
tag: en
components:
main:
label: Main Power
description: Controls power to all outlets
outlet1:
label: Outlet One
description: Switchable outlet 1 power
outlet2:
label: Outlet two
description: Switchable outlet 1 power
$ smartthings deviceprofiles:translations:upsert -i en.yaml
┌────┬─────────────────────┬─────────────┬──────────────────────────────────────┐
│ # │ Name │ Status │ Id │
├────┼─────────────────────┼─────────────┼──────────────────────────────────────┤
│ 1 │ Test Switch │ DEVELOPMENT │ 58e73d0c-b5a5-4814-b344-c10f4ff357bb │
│ 2 │ Two Channel Outlet │ DEVELOPMENT │ 3acbf2fc-6be2-4be0-aeb5-44759cbd66c2 │
└────┴─────────────────────┴─────────────┴──────────────────────────────────────┘
? Enter id or index 2
tag: en
components:
main:
label: Main Power
description: Controls power to all outlets
outlet1:
label: Outlet One
description: Switchable outlet 1 power
outlet2:
label: Outlet two
description: Switchable outlet 1 power
See code: src/commands/deviceprofiles/translations/upsert.ts
update a device profile
USAGE
$ smartthings deviceprofiles:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
ARGUMENTS
ID device profile UUID or number in the list
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a device profile
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateDeviceProfile
See code: src/commands/deviceprofiles/update.ts
show device profile and device configuration in a single, consolidated view
USAGE
$ smartthings deviceprofiles:view [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID device profile UUID or the number from list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
show device profile and device configuration in a single, consolidated view
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceProfile, getDeviceConfiguration
See code: src/commands/deviceprofiles/view.ts
create a new device profile and device configuration
USAGE
$ smartthings deviceprofiles:view:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a new device profile and device configuration
Creates a new device profile and device configuration. Unlike deviceprofiles:create, this command accepts a
consolidated object that can include a device configuration in a property named "view".
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createDeviceProfile,
https://developer.smartthings.com/docs/api/public/#operation/createDeviceConfiguration,
https://developer.smartthings.com/docs/api/public/#operation/updateDeviceProfile,
https://developer.smartthings.com/docs/api/public/#operation/generateDeviceConfig
EXAMPLES
$ smartthings deviceprofiles:view:create -i test.json
This test.json file defines a switch that cannot be controlled by the automations builder:
name: Test Switch
components:
- id: main
capabilities:
- id: switch
view:
dashboard:
states:
- capability: switch
actions:
- capability: switch
detailView:
- capability: switch
automation:
conditions:
- capability: switch
See code: src/commands/deviceprofiles/view/create.ts
update a device profile and configuration
USAGE
$ smartthings deviceprofiles:view:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
ARGUMENTS
ID device profile id
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a device profile and configuration
Updates a device profile and device configuration and sets the vid of the profile to the vid of the updated
configuration. Unlike deviceprofiles:update this command accepts a consolidated object that can include a device
configuration in a property named "view".
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createDeviceConfiguration,
https://developer.smartthings.com/docs/api/public/#operation/updateDeviceProfile,
https://developer.smartthings.com/docs/api/public/#operation/generateDeviceConfig
EXAMPLES
$ smartthings deviceprofiles:view:update 84042863-0d34-4c5c-b497-808daf230787 -i test.json
This test.json file adds the powerMeter capability to the device and makes it available in
the device detail view but not the rule builder:
components:
- id: main
capabilities:
- id: switch
- id: powerMeter
view:
dashboard:
states:
- capability: switch
actions:
- capability: switch
detailView:
- capability: switch
- capability: powerMeter
automation:
conditions:
- capability: switch
See code: src/commands/deviceprofiles/view/update.ts
list all devices available in a user account or retrieve a single device
USAGE
$ smartthings devices [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-l
<value>] [-C and|or -c <value>] [-d <value>] [-a <value>] [-s] [-H] [--type BLE|BLE_D2D|DTH|ENDPOINT_APP|GROUP|HUB|I
R|IR_OCF|LAN|MATTER|MOBILE|MQTT|OCF|PENGYOU|SHP|VIDEO|VIPER|VIRTUAL|WATCH|ZIGBEE|ZWAVE|EDGE_CHILD] [-v]
ARGUMENTS
ID device to retrieve; UUID or the number of the device from list
FLAGS
-C, --capabilities-mode=<option> Treat capability filter query params as a logical "or" or "and" with a default of
"and".
<options: and|or>
-H, --health include device health in response
-a, --installed-app=<UUID> filter results by installed app that created the device
-c, --capability=<value>... filter results by capability
-d, --device=<UUID>... filter results by device
-l, --location=<UUID>... filter results by location
-s, --status include attribute values in the response
-v, --verbose include location and room name in output
--type=<option>... filter results by device type
<options: BLE|BLE_D2D|DTH|ENDPOINT_APP|GROUP|HUB|IR|IR_OCF|LAN|MATTER|MOBILE|MQTT|OC
F|PENGYOU|SHP|VIDEO|VIPER|VIRTUAL|WATCH|ZIGBEE|ZWAVE|EDGE_CHILD>
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all devices available in a user account or retrieve a single device
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDevices,
https://developer.smartthings.com/docs/api/public/#operation/getDevice
See code: src/commands/devices.ts
get the current status of all of a device capability's attributes
USAGE
$ smartthings devices:capability-status [ID] [COMPONENT] [CAPABILITY] [-h] [-p <value>] [-t <value>] [--language <value>]
[-j] [-y] [-o <value>]
ARGUMENTS
ID the device id
COMPONENT the component id
CAPABILITY the capability id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the current status of all of a device capability's attributes
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceStatusByCapability
See code: src/commands/devices/capability-status.ts
execute a device command
USAGE
$ smartthings devices:commands [ID] [COMMAND] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i
<value>]
ARGUMENTS
ID the device id
COMMAND the command [<component>]:<capability>:<command>([<arguments>])
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
execute a device command
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/executeDeviceCommands
EXAMPLES
# simple capability and command
$ smartthings devices:commands 00000000-0000-0000-0000-000000000000 switch:off
# capability and command with an argument (note: single quote command arg to prevent specific shell parsing errors)
$ smartthings devices:commands 00000000-0000-0000-0000-000000000000 'switchLevel:setLevel(50)'
See code: src/commands/devices/commands.ts
get the current status of a device component's attributes
USAGE
$ smartthings devices:component-status [ID] [COMPONENT] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID the device id
COMPONENT the component id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the current status of a device component's attributes
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceComponentStatus
See code: src/commands/devices/component-status.ts
delete a device
USAGE
$ smartthings devices:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>]
ARGUMENTS
ID device UUID
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a device
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteDevice
See code: src/commands/devices/delete.ts
get the current health status of a device
USAGE
$ smartthings devices:health [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the device id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the current health status of a device
See code: src/commands/devices/health.ts
get device history by device
USAGE
$ smartthings devices:history [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-A
<value>] [-B <value>] [-L <value>] [-U]
ARGUMENTS
ID the device id
FLAGS
-A, --after=<value> return events newer than or equal to this timestamp, expressed as an epoch time in milliseconds
or an ISO time string
-B, --before=<value> return events older than than this timestamp, expressed as an epoch time in milliseconds or an
ISO time string
-L, --limit=<value> [default: 20] maximum number of events to return
-U, --utc display times in UTC time zone. Defaults to local time
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get device history by device
See code: src/commands/devices/history.ts
get the current preferences of a device
USAGE
$ smartthings devices:preferences [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the device id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the current preferences of a device
See code: src/commands/devices/preferences.ts
get a device presentation
USAGE
$ smartthings devices:presentation [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the device id or number in the list
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get a device presentation
See code: src/commands/devices/presentation.ts
rename a device
USAGE
$ smartthings devices:rename [ID] [LABEL] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID the device id
LABEL the new device label
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
rename a device
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateDevice
See code: src/commands/devices/rename.ts
get the current status of all of a device's component's attributes
USAGE
$ smartthings devices:status [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the device id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get the current status of all of a device's component's attributes
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceStatus
See code: src/commands/devices/status.ts
update a device's label and room
USAGE
$ smartthings devices:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
ARGUMENTS
ID the device id
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a device's label and room
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateDevice
See code: src/commands/devices/update.ts
list all channels owned by you or retrieve a single channel
USAGE
$ smartthings edge:channels [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-I | -A] [--subscriber-id <value> --subscriber-type HUB]
ARGUMENTS
IDORINDEX the channel id or number in list
FLAGS
-A, --all-organizations include entities from all organizations the user belongs to
-I, --include-read-only include subscribed-to channels as well as owned channels
-O, --organization=<value> the organization ID to use for this command
--subscriber-id=<UUID> filter results based on subscriber id (e.g. hub id)
--subscriber-type=<option> filter results based on subscriber type
<options: HUB>
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all channels owned by you or retrieve a single channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listChannels,
https://developer.smartthings.com/docs/api/public/#operation/channelById
EXAMPLES
# list all user-owned channels
$ smartthings edge:channels
# list user-owned and subscribed channels
$ smartthings edge:channels --include-read-only
# display details about the second channel listed when running "smartthings edge:channels"
$ smartthings edge:channels 2
# display channels subscribed to by the specified hub
$ smartthings edge:channels --subscriber-type HUB --subscriber-id <hub-id>
See code: @smartthings/plugin-cli-edge
assign a driver to a channel
USAGE
$ smartthings edge:channels:assign [DRIVERID] [VERSION] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
[-C <value>]
ARGUMENTS
DRIVERID driver id
VERSION driver version
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
assign a driver to a channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createDriverChannel
See code: @smartthings/plugin-cli-edge
create a channel
USAGE
$ smartthings edge:channels:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createChannel
See code: @smartthings/plugin-cli-edge
delete a channel
USAGE
$ smartthings edge:channels:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
ARGUMENTS
ID channel id
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteChannel
See code: @smartthings/plugin-cli-edge
list drivers assigned to a given channel
USAGE
$ smartthings edge:channels:drivers [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>]
ARGUMENTS
IDORINDEX the channel id or number in list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list drivers assigned to a given channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getChannelDrivers,
https://developer.smartthings.com/docs/api/public/#operation/getDriverChannel
See code: @smartthings/plugin-cli-edge
enroll a hub in a channel
USAGE
$ smartthings edge:channels:enroll [HUBID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-C
<value>]
ARGUMENTS
HUBID hub id
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
enroll a hub in a channel
See code: @smartthings/plugin-cli-edge
list all channels a given hub is enrolled in
USAGE
$ smartthings edge:channels:enrollments [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>]
ARGUMENTS
IDORINDEX the hub id or number in list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all channels a given hub is enrolled in
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listDriverChannels
See code: @smartthings/plugin-cli-edge
list invitations or retrieve a single invitation by id or index
USAGE
$ smartthings edge:channels:invites [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-C <value>]
ARGUMENTS
IDORINDEX the invitation id or number in list
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list invitations or retrieve a single invitation by id or index
EXAMPLES
$ smartthings edge:channels:invites # list all invites on all channels you own
$ smartthings edge:channels:invites 2 # list details about the second invite show when listed as in the example above
$ smartthings edge:channels:invites -C <channel id> # list all invites on channel with id <channel id>
$ smartthings edge:channels:invites <invite id> # list details about the invite with id <invite id>
See code: @smartthings/plugin-cli-edge
accept a channel invitation
USAGE
$ smartthings edge:channels:invites:accept [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
ARGUMENTS
ID invite UUID
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
accept a channel invitation
See code: @smartthings/plugin-cli-edge
create an invitation
USAGE
$ smartthings edge:channels:invites:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-C <value> | -i
<value>] [-j] [-y] [-o <value>] [-d]
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create an invitation
See code: @smartthings/plugin-cli-edge
delete a channel invitation
USAGE
$ smartthings edge:channels:invites:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-C
<value>]
ARGUMENTS
ID invitation UUID
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a channel invitation
See code: @smartthings/plugin-cli-edge
list all channels owned by you or retrieve a single channel
USAGE
$ smartthings edge:channels:metainfo [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-C <value> | ]
ARGUMENTS
IDORINDEX the channel id or number in list
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all channels owned by you or retrieve a single channel
EXAMPLES
# summarize metainfo for all drivers in a channel
$ smartthings edge:channels:metainfo
# summarize metainfo for all drivers in the specified channel
$ smartthings edge:channels:metainfo -C b50c0aa1-d9ea-4005-8db8-0cf9c2d9d7b2
# display metainfo about the third driver listed in the above command
$ smartthings edge:channels:metainfo -C b50c0aa1-d9ea-4005-8db8-0cf9c2d9d7b2 3
# display metainfo about a driver by using its id
$ smartthings edge:channels:metainfo -C b50c0aa1-d9ea-4005-8db8-0cf9c2d9d7b2 \
699c7308-8c72-4363-9571-880d0f5cc725
See code: @smartthings/plugin-cli-edge
remove a driver from a channel
USAGE
$ smartthings edge:channels:unassign [DRIVERID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-C
<value>]
ARGUMENTS
DRIVERID driver id
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
remove a driver from a channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteDriverChannel
See code: @smartthings/plugin-cli-edge
unenroll a hub from a channel
USAGE
$ smartthings edge:channels:unenroll [HUBID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-C
<value>]
ARGUMENTS
HUBID hub id
FLAGS
-C, --channel=<UUID> channel id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
unenroll a hub from a channel
EXAMPLES
prompt user for hub and channel and then unenroll hub from channel
$ smartthings edge:channels:unenroll
prompt user for a channel the given hub is enrolled in and then unenroll it
$ smartthings edge:channels:unenroll 2fa0912f-cb73-424e-97f9-ffff76ea4f2a
unenroll the specified hub from the specified channel
$ smartthings edge:channels:unenroll 2fa0912f-cb73-424e-97f9-ffff76ea4f2a --channel \
fcd6ca9c-2764-4dbb-9bbe-d40c900c960f
See code: @smartthings/plugin-cli-edge
update a channel
USAGE
$ smartthings edge:channels:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d]
ARGUMENTS
ID the channel id
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a channel
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateChannel
See code: @smartthings/plugin-cli-edge
list all drivers owned by you or retrieve a single driver
USAGE
$ smartthings edge:drivers [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-A] [-V <value>]
ARGUMENTS
IDORINDEX the driver id or number in list
FLAGS
-A, --all-organizations include entities from all organizations the user belongs to
-O, --organization=<value> the organization ID to use for this command
-V, --version=<value> driver version
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all drivers owned by you or retrieve a single driver
Use this command to list all drivers you own, even if they are not yet assigned to a channel.
See also edge:drivers:installed to list installed drivers and edge:channels:drivers to list drivers that are part of a
channel you own or have subscribed to
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listDrivers,
https://developer.smartthings.com/docs/api/public/#operation/getDriver,
https://developer.smartthings.com/docs/api/public/#operation/getDriverRevision
EXAMPLES
# list all user-owned drivers
$ smartthings edge:drivers
# display details about the third driver listed in the above command
$ smartthings edge:drivers 3
# display details about a driver by using its id
$ smartthings edge:drivers 699c7308-8c72-4363-9571-880d0f5cc725
# get information on a specific version of a driver
$ smartthings edge:drivers 699c7308-8c72-4363-9571-880d0f5cc725 --version 2021-10-25T00:48:23.295969
See code: @smartthings/plugin-cli-edge
list default drivers available to all users
USAGE
$ smartthings edge:drivers:default [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>]
ARGUMENTS
IDORINDEX the driver id or number in list
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list default drivers available to all users
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDefaultDrivers
EXAMPLES
# list default drivers
$ smartthings edge:drivers:default
# show details about a specific default driver
$ smartthings edge:drivers:default 12
See code: @smartthings/plugin-cli-edge
delete an edge driver
USAGE
$ smartthings edge:drivers:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
ARGUMENTS
ID driver UUID
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete an edge driver
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteDriver
See code: @smartthings/plugin-cli-edge
list devices using edge drivers
USAGE
$ smartthings edge:drivers:devices [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-H <value>] [-D <value>]
ARGUMENTS
IDORINDEX the device id or number in list
FLAGS
-D, --driver=<UUID> driver id
-H, --hub=<UUID> hub id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list devices using edge drivers
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDevices,
https://developer.smartthings.com/docs/api/public/#operation/listDrivers,
https://developer.smartthings.com/docs/api/public/#operation/getDriver,
https://developer.smartthings.com/docs/api/public/#operation/getDriverRevision
EXAMPLES
# list all devices using edge drivers
$ smartthings edge:drivers:devices
# display details about the third device listed in the above command
$ smartthings edge:drivers:devices 3
# display details about a device by using its id
$ smartthings edge:drivers:devices dfda0a8e-55d6-445b-ace5-db828679bcb3
# list all devices using edge drivers on the specified hub
$ smartthings edge:drivers:devices --hub a9108ab1-7087-4c10-9781-a0627b084fce
# list devices that use a specific driver
$ smartthings edge:drivers:devices --driver b67a134c-ace8-4b8d-9a0e-444ad78b4455
See code: @smartthings/plugin-cli-edge
install an edge driver onto a hub
USAGE
$ smartthings edge:drivers:install [DRIVERID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-H
<value>] [-C <value>]
ARGUMENTS
DRIVERID id of driver to install
FLAGS
-C, --channel=<UUID> channel id
-H, --hub=<UUID> hub id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
install an edge driver onto a hub
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/installDrivers
EXAMPLES
$ smartthings edge:drivers:install # use Q&A format to enter required values
$ smartthings edge:drivers:install -H <hub-id> # specify the hub on the command line, other fields will be asked for
$ smartthings edge:drivers:install -H <hub-id> -C <channel-id> <driver-id> # install a driver from a channel on an enrolled hub
See code: @smartthings/plugin-cli-edge
list all drivers installed on a given hub
USAGE
$ smartthings edge:drivers:installed [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j]
[-y] [-o <value>] [-H <value>] [--device <value>] [-v]
ARGUMENTS
IDORINDEX the driver id or number in list
FLAGS
-H, --hub=<UUID> hub id
-O, --organization=<value> the organization ID to use for this command
-v, --verbose include channel name in output
--device=<UUID> return drivers matching the specified device
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all drivers installed on a given hub
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listHubInstalledDrivers,
https://developer.smartthings.com/docs/api/public/#operation/getHubDeviceDriver
EXAMPLES
list all installed drivers
$ smartthings edge:drivers:installed
list all installed drivers and include the channel name in the output
$ smartthings edge:drivers:installed --verbose
list the first driver in the list retrieved by running "smartthings edge:drivers:installed"
$ smartthings edge:drivers:installed 1
list an installed driver by id
$ smartthings edge:drivers:installed <driver-id>
See code: @smartthings/plugin-cli-edge
stream logs from installed drivers
USAGE
$ smartthings edge:drivers:logcat [DRIVERID] [-h] [-p <value>] [-t <value>] [--language <value>] [-a] [--hub-address
<value>] [--connect-timeout <value>] [--log-level <value>]
ARGUMENTS
DRIVERID a specific driver to stream logs from
FLAGS
-a, --all stream from all installed drivers
--connect-timeout=<milliseconds> [default: 30000] max time allowed when connecting to hub
--hub-address=<value> IPv4 address of hub with optionally appended port number
--log-level=<string> [default: TRACE] minimum level of event to log
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
stream logs from installed drivers
See code: @smartthings/plugin-cli-edge
build and upload an edge package
USAGE
$ smartthings edge:drivers:package [PROJECTDIRECTORY] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
[-j] [-y] [-o <value>] [-a | --channel <value> | [-b <value> | -u <value>]] [-I | --hub <value> | ]
ARGUMENTS
PROJECTDIRECTORY [default: .] directory containing project to upload
FLAGS
-I, --install prompt for hub (or use default if previously specified) to install to after assigning it
to the channel, implies --assign if --assign or --channel not included
-O, --organization=<value> the organization ID to use for this command
-a, --assign prompt for a channel (or use default if previously specified) to assign the driver to
after upload
-b, --build-only=<value> save package to specified zip file but skip upload
-u, --upload=<value> upload zip file previously built with --build flag
--channel=<UUID> automatically assign driver to specified channel after upload
--hub=<UUID> automatically install driver to specified hub, implies --assign if --assign or --channel
not included
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
build and upload an edge package
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/uploadDriverPackage
EXAMPLES
# build and upload driver found in current directory:
$ smartthings edge:drivers:package
# build and upload driver found in current directory, assign it to a channel, and install it;
# user will be prompted for channel and hub
$ smartthings edge:drivers:package -I
# build and upload driver found in current directory then assign it to the specified channel
# and install it to the specified hub
$ smartthings edge:drivers:package --channel <channel-id> --hub <hubId>
# build and upload driver found in the my-driver directory
$ smartthings edge:drivers:package my-driver
# build the driver in the my-package directory and save it as driver.zip
$ smartthings edge:drivers:package -b driver.zip my-package
# upload the previously built driver found in driver.zip
$ smartthings edge:drivers:package -u driver.zip
See code: @smartthings/plugin-cli-edge
uninstall unused edge drivers from a hub
USAGE
$ smartthings edge:drivers:prune [DRIVERID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-H
<value>]
ARGUMENTS
DRIVERID id of driver to uninstall
FLAGS
-H, --hub=<UUID> hub id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
uninstall unused edge drivers from a hub
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/uninstallDriver
See code: @smartthings/plugin-cli-edge
change the driver used by an installed device
USAGE
$ smartthings edge:drivers:switch [DEVICEID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-H
<value>] [-d <value>] [-I]
ARGUMENTS
DEVICEID id of device to update
FLAGS
-H, --hub=<UUID> hub id
-I, --include-non-matching when presenting a list of drivers to switch to, include drivers that do not match the
device
-O, --organization=<value> the organization ID to use for this command
-d, --driver=<UUID> id of new driver to use
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
change the driver used by an installed device
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateHubDevice
EXAMPLES
# switch driver, prompting user for all necessary input
$ smartthings edge:drivers:switch
# switch driver, including all necessary input on the command line
$ smartthings edge:drivers:switch --hub <hub-id> --driver <driver-id> <device-id>
# include all available drivers in prompt, even if they don't match the chosen device
$ smartthings edge:drivers:switch --include-non-matching
See code: @smartthings/plugin-cli-edge
uninstall an edge driver from a hub
USAGE
$ smartthings edge:drivers:uninstall [DRIVERID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-H
<value>]
ARGUMENTS
DRIVERID id of driver to uninstall
FLAGS
-H, --hub=<UUID> hub id
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
uninstall an edge driver from a hub
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/uninstallDriver
See code: @smartthings/plugin-cli-edge
Display help for smartthings.
USAGE
$ smartthings help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for smartthings.
See code: @oclif/plugin-help
get a specific app or a list of apps
USAGE
$ smartthings installedapps [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-l
<value>] [-v]
ARGUMENTS
ID the app id
FLAGS
-l, --location=<UUID>... filter results by location
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get a specific app or a list of apps
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listInstallations,
https://developer.smartthings.com/docs/api/public/#operation/getInstallation
See code: src/commands/installedapps.ts
delete an installed app instance
USAGE
$ smartthings installedapps:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>] [-v]
ARGUMENTS
ID installed app UUID
FLAGS
-l, --location=<UUID>... filter results by location
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete an installed app instance
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteInstallation
See code: src/commands/installedapps/delete.ts
renamed an installed app instance
USAGE
$ smartthings installedapps:rename [ID] [NAME] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o
<value>] [-l <value>] [-v]
ARGUMENTS
ID the installed app id
NAME the new installed app name
FLAGS
-l, --location=<UUID>... filter results by location
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
renamed an installed app instance
See code: src/commands/installedapps/rename.ts
get a specific schema connector instance or a list of instances
USAGE
$ smartthings installedschema [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-l
<value>] [-v]
ARGUMENTS
ID the isa id
FLAGS
-l, --location=<UUID>... filter results by location
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get a specific schema connector instance or a list of instances
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getIsaByLocationId,
https://developer.smartthings.com/docs/api/public/#operation/getDevicesByIsaId
See code: src/commands/installedschema.ts
delete an installed schema connector instance
USAGE
$ smartthings installedschema:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>] [-v]
ARGUMENTS
ID installed schema connector UUID
FLAGS
-l, --location=<UUID>... filter results by location
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete an installed schema connector instance
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteIsaByIsaId
See code: src/commands/installedschema/delete.ts
list invitations for a schema app
USAGE
$ smartthings invites:schema [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o
<value>] [--schema-app <value>]
ARGUMENTS
IDORINDEX the invitation id or number in list
FLAGS
--schema-app=<value> schema app id
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list invitations for a schema app
EXAMPLES
prompt for a schema app and then list its invitations
$ smartthings invites:schema
list invitations for the specified schema app
$ smartthings invites:schema --schema-app=viper_7db10232-3f97-4618-924b-807bf852c616
display details about the third invitation listed in the previous example
$ smartthings invites:schema --schema-app=viper_7db10232-3f97-4618-924b-807bf852c616 3
list details of specified invitation
$ smartthings invites:schema 97e44afd-845f-4da1-a7b3-fd2625fc9367
See code: src/commands/invites/schema.ts
create an invitation to a schema app
USAGE
$ smartthings invites:schema:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [--schema-app <value>]
FLAGS
-d, --dry-run produce JSON but don't actually submit
--schema-app=<value> schema app id
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create an invitation to a schema app
EXAMPLES
create an invitation from prompted input
$ smartthings invites:schema:create
create an invitation for the specified ST Schema app from prompted input
$ smartthings invites:schema:create --schema-app d2e44c34-3cb1-42be-b5ba-8fbaf2922c19
create an invitation as defined in invitation.json, prompting the user for a schema-app
$ smartthings invites:schema:create -i invitation.json
create an invitation as defined in invitation.json with the specified schema-app
$ smartthings invites:schema:create -i invitation.json --schema-app d2e44c34-3cb1-42be-b5ba-8fbaf2922c19
See code: src/commands/invites/schema/create.ts
delete a schema app invitation
USAGE
$ smartthings invites:schema:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [--schema-app <value>]
ARGUMENTS
ID schema app invitation UUID
FLAGS
--schema-app=<value> schema app id
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a schema app invitation
EXAMPLES
select an invitation to delete from list
$ smartthings invites:schema:delete
select an invitation to delete from list, for the specified schema app
$ smartthings invites:schema:delete --schema-app e077532e-3c0f-4f3b-a1d8-029115ee1602
delete a specific invitation by id
$ smartthings invites:schema:delete 5dfd6626-ab1d-42da-bb76-90def3153998
See code: src/commands/invites/schema/delete.ts
list locations or get information for a specific Location
USAGE
$ smartthings locations [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
IDORINDEX the location id or number in list
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list locations or get information for a specific Location
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listLocations,
https://developer.smartthings.com/docs/api/public/#operation/getLocation
See code: src/commands/locations.ts
create a Location for a user
USAGE
$ smartthings locations:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a Location for a user
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createLocation
See code: src/commands/locations/create.ts
delete a location
USAGE
$ smartthings locations:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>]
ARGUMENTS
ID location id
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a location
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteLocation
EXAMPLES
$ smartthings locations:delete # choose the location to delete from a list
$ smartthings locations:delete my-location-id # delete the location with the specified id
See code: src/commands/locations/delete.ts
get device history by location
USAGE
$ smartthings locations:history [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-A
<value>] [-B <value>] [-L <value>] [-U]
ARGUMENTS
ID the location id
FLAGS
-A, --after=<value> return events newer than or equal to this timestamp, expressed as an epoch time in milliseconds
or an ISO time string
-B, --before=<value> return events older than than this timestamp, expressed as an epoch time in milliseconds or an
ISO time string
-L, --limit=<value> [default: 20] maximum number of events to return
-U, --utc display times in UTC time zone. Defaults to local time
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get device history by location
See code: src/commands/locations/history.ts
list modes or get information for a specific mode
USAGE
$ smartthings locations:modes [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>] [-v]
[-j] [-y] [-o <value>]
ARGUMENTS
IDORINDEX mode UUID or index
FLAGS
-l, --location=<UUID> a specific location to query
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list modes or get information for a specific mode
EXAMPLES
list all modes in your location(s)
$ smartthings locations:modes
get details of the third mode in the list retrieved by running "smartthings locations:modes"
$ smartthings locations:modes 3
get details of a mode by its id
$ smartthings locations:modes 636169e4-8b9f-4438-a941-953b0d617231
include location name and ID in the output
$ smartthings locations:modes --verbose
list all modes in a particular location
$ smartthings locations:modes --location=5dfd6626-ab1d-42da-bb76-90def3153998
See code: src/commands/locations/modes.ts
create a mode
USAGE
$ smartthings locations:modes:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-l <value>]
FLAGS
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> a specific location to create the mode in
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a mode
EXAMPLES
create a new mode using the data in new-data.json
$ smartthings locations:modes:create -i=new-data.json
create a new mode in a specified location using the data in new-data.json
$ smartthings locations:modes:create --location=5dfd6626-ab1d-42da-bb76-90def3153998 -i=new-data.json
See code: src/commands/locations/modes/create.ts
delete a mode
USAGE
$ smartthings locations:modes:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>]
ARGUMENTS
ID mode UUID
FLAGS
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a mode
EXAMPLES
select a mode from a list of all modes and delete it
$ smartthings locations:modes:delete
select a mode from a list of modes in a specified location and delete it
$ smartthings locations:modes:delete --location=5dfd6626-ab1d-42da-bb76-90def3153998
delete a specified mode
$ smartthings locations:modes:delete 636169e4-8b9f-4438-a941-953b0d617231
See code: src/commands/locations/modes/delete.ts
get details of current mode
USAGE
$ smartthings locations:modes:getcurrent [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>] [-v] [-j] [-y] [-o
<value>]
FLAGS
-l, --location=<UUID> a specific location to query
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get details of current mode
EXAMPLES
get details of current mode
$ smartthings locations:modes:getcurrent
include location name and ID in the output
$ smartthings locations:modes:getcurrent --verbose
get the current mode for a specified location
$ smartthings locations:modes:getcurrent --location=5dfd6626-ab1d-42da-bb76-90def3153998
See code: src/commands/locations/modes/getcurrent.ts
set the current mode
USAGE
$ smartthings locations:modes:setcurrent [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>]
ARGUMENTS
ID mode UUID
FLAGS
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
set the current mode
EXAMPLES
select a mode from a list of all modes and set it to be current for its location
$ smartthings locations:modes:setcurrent
select a mode from a list of modes in a specified location and set it to be current
$ smartthings locations:modes:setcurrent --location=5dfd6626-ab1d-42da-bb76-90def3153998
set the specified mode to be current for its location
$ smartthings locations:modes:setcurrent 636169e4-8b9f-4438-a941-953b0d617231
See code: src/commands/locations/modes/setcurrent.ts
update a mode
USAGE
$ smartthings locations:modes:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-l <value>]
ARGUMENTS
ID mode UUID
FLAGS
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a mode
EXAMPLES
select a mode from a list of all modes and update it using the data in new-data.json
$ smartthings locations:modes:update -i=new-data.json
select a mode from a list of modes in a specified location and update it using the data in new-data.json
$ smartthings locations:modes:update --location=5dfd6626-ab1d-42da-bb76-90def3153998 -i=new-data.json
update a specified mode using the data in new-data.json
$ smartthings locations:modes:update 636169e4-8b9f-4438-a941-953b0d617231 -i=new-data.json
See code: src/commands/locations/modes/update.ts
list rooms or get information for a specific room
USAGE
$ smartthings locations:rooms [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>] [-v]
[-j] [-y] [-o <value>]
ARGUMENTS
IDORINDEX room UUID or index
FLAGS
-l, --location=<UUID> a specific location to query
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list rooms or get information for a specific room
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listRooms,
https://developer.smartthings.com/docs/api/public/#operation/getRoom
See code: src/commands/locations/rooms.ts
create a room
USAGE
$ smartthings locations:rooms:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-l <value>]
FLAGS
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a room
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createRoom
See code: src/commands/locations/rooms/create.ts
delete a room
USAGE
$ smartthings locations:rooms:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>]
ARGUMENTS
ID room UUID
FLAGS
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a room
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteRoom
See code: src/commands/locations/rooms/delete.ts
update a room
USAGE
$ smartthings locations:rooms:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-l <value>]
ARGUMENTS
ID room UUID
FLAGS
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a room
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateRoom
See code: src/commands/locations/rooms/update.ts
update a location
USAGE
$ smartthings locations:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
ARGUMENTS
ID the location id
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a location
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateLocation
See code: src/commands/locations/update.ts
USAGE
$ smartthings logout [-h] [-p <value>] [-t <value>] [--language <value>]
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
See code: src/commands/logout.ts
list all organizations the user belongs to
USAGE
$ smartthings organizations [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID the organization name, id or index
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all organizations the user belongs to
See code: src/commands/organizations.ts
return the currently active organization
USAGE
$ smartthings organizations:current [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
return the currently active organization
See code: src/commands/organizations/current.ts
List installed plugins.
USAGE
$ smartthings plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ smartthings plugins
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ smartthings plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ smartthings plugins:add
EXAMPLES
$ smartthings plugins:install myplugin
$ smartthings plugins:install https://github.com/someuser/someplugin
$ smartthings plugins:install someuser/someplugin
Displays installation properties of a plugin.
USAGE
$ smartthings plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ smartthings plugins:inspect myplugin
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ smartthings plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ smartthings plugins:add
EXAMPLES
$ smartthings plugins:install myplugin
$ smartthings plugins:install https://github.com/someuser/someplugin
$ smartthings plugins:install someuser/someplugin
See code: @oclif/plugin-plugins
Links a plugin into the CLI for development.
USAGE
$ smartthings plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ smartthings plugins:link myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ smartthings plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ smartthings plugins:unlink
$ smartthings plugins:remove
Removes a plugin from the CLI.
USAGE
$ smartthings plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ smartthings plugins:unlink
$ smartthings plugins:remove
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ smartthings plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ smartthings plugins:unlink
$ smartthings plugins:remove
Update installed plugins.
USAGE
$ smartthings plugins:update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins
query device presentation by vid
USAGE
$ smartthings presentation [PRESENTATIONID] [MANUFACTURERNAME] [-h] [-p <value>] [-t <value>] [--language
<value>] [-j] [-y] [-o <value>]
ARGUMENTS
PRESENTATIONID system generated identifier that corresponds to a device presentation
MANUFACTURERNAME manufacturer name. Defaults to SmartThingsCommunity
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
query device presentation by vid
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDevicePresentation
EXAMPLES
$ smartthings presentation fd4adb7f-4a23-4134-9b39-05ed889a03cf
$ smartthings presentation 4ea31e30-2aba-41c7-a3ec-8f97423d565a SmartThings
$ smartthings presentation fd4adb7f-4a23-4134-9b39-05ed889a03cf --language=ko
$ smartthings presentation fd4adb7f-4a23-4134-9b39-05ed889a03cf --language=NONE
Specifying only the presentationId defaults to the "SmartThingsCommunity" manufacturer
name and the language set for the computer's operating system. The language can be
overridden by specifying an ISO language code. If "NONE" is specified for the language
flag then no language header is specified in the API request
See code: src/commands/presentation.ts
query device config by presentationId
USAGE
$ smartthings presentation:device-config [PRESENTATIONID] [MANUFACTURERNAME] [-h] [-p <value>] [-t <value>] [--language
<value>] [-j] [-y] [-o <value>]
ARGUMENTS
PRESENTATIONID system generated identifier that corresponds to a device presentation
MANUFACTURERNAME manufacturer name. Defaults to SmartThingsCommunity
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
query device config by presentationId
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getDeviceConfiguration
See code: src/commands/presentation/device-config.ts
create a device config
USAGE
$ smartthings presentation:device-config:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a device config
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createDeviceConfiguration
See code: src/commands/presentation/device-config/create.ts
generate the default device configuration
USAGE
$ smartthings presentation:device-config:generate [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
[--dth] [--type-shard <value>]
ARGUMENTS
ID the profile id (or legacy DTH id))
FLAGS
--dth generate from legacy DTH id instead of a profile id
--type-shard=<value> data management shard Id where the device type resides, only useful for legacy DTH type
integrations
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
generate the default device configuration
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/generateDeviceConfig
See code: src/commands/presentation/device-config/generate.ts
get a specific rule
USAGE
$ smartthings rules [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o
<value>] [-l <value>]
ARGUMENTS
IDORINDEX rule UUID or index
FLAGS
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
get a specific rule
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listRules,
https://developer.smartthings.com/docs/api/public/#operation/getRule
See code: src/commands/rules.ts
create a rule
USAGE
$ smartthings rules:create [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-l <value>]
FLAGS
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> the location for the rule
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a rule
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/createRule
See code: src/commands/rules/create.ts
delete a rule
USAGE
$ smartthings rules:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-l <value>]
ARGUMENTS
ID rule UUID
FLAGS
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a rule
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteRule
See code: src/commands/rules/delete.ts
execute a rule
USAGE
$ smartthings rules:execute [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-l
<value>]
ARGUMENTS
ID rule UUID
FLAGS
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
execute a rule
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/executeRule
EXAMPLES
# prompt for a rule to execute and then execute it
$ smartthings rules:execute
# execute the rule with the specified id
$ smartthings rules:execute 699c7308-8c72-4363-9571-880d0f5cc725
See code: src/commands/rules/execute.ts
update a rule
USAGE
$ smartthings rules:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-l <value>]
ARGUMENTS
ID rule UUID
FLAGS
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a rule
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/updateRule
See code: src/commands/rules/update.ts
list scenes or get information for a specific scene
USAGE
$ smartthings scenes [IDORINDEX] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o
<value>] [-l <value>]
ARGUMENTS
IDORINDEX the scene id or number in list
FLAGS
-l, --location=<UUID>... a specific location to query
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list scenes or get information for a specific scene
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/listScenes
See code: src/commands/scenes.ts
execute a scene
USAGE
$ smartthings scenes:execute [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>]
ARGUMENTS
ID scene UUID
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
execute a scene
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/executeScene
EXAMPLES
# prompt for a scene to execute and then execute it
$ smartthings scenes:execute
# execute the scene with the specified id
$ smartthings scenes:execute 699c7308-8c72-4363-9571-880d0f5cc725
See code: src/commands/scenes/execute.ts
list all ST Schema Apps currently available in a user account
USAGE
$ smartthings schema [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>] [-A] [-v]
ARGUMENTS
ID the schema connector id
FLAGS
-A, --all-organizations include entities from all organizations the user belongs to
-O, --organization=<value> the organization ID to use for this command
-v, --verbose include ARN in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all ST Schema Apps currently available in a user account
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/getAppsByUserToken,
https://developer.smartthings.com/docs/api/public/#operation/getAppsByEndpointAppId
See code: src/commands/schema.ts
authorize calls to your ST Schema Lambda function from SmartThings
USAGE
$ smartthings schema:authorize [ARN] [-h] [-p <value>] [--principal <value>] [--statement <value>]
ARGUMENTS
ARN the ARN of the AWS Lambda function
FLAGS
--principal=<value> use this principal instead of the default when authorizing lambda functions
--statement=<value> use this statement id instead of the default when authorizing lambda functions
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
DESCRIPTION
authorize calls to your ST Schema Lambda function from SmartThings
EXAMPLES
$ smartthings schema:authorize arn:aws:lambda:us-east-1:1234567890:function:your-test-app
Note that this command is the same as running the following with the AWS CLI:
$ aws lambda add-permission --region us-east-1 \
--function-name arn:aws:lambda:us-east-1:1234567890:function:your-test-app \
--statement smartthings --principal 148790070172 --action lambda:InvokeFunction
It requires your machine to be configured to run the AWS CLI
See code: src/commands/schema/authorize.ts
create an ST Schema connector
USAGE
$ smartthings schema:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d] [--authorize] [--principal <value>] [--statement <value>]
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
--authorize authorize connector's Lambda functions to be called by SmartThings
--principal=<value> use this principal instead of the default when authorizing lambda functions
--statement=<value> use this statement id instead of the default when authorizing lambda functions
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create an ST Schema connector
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/postApps
See code: src/commands/schema/create.ts
delete an ST Schema connector
USAGE
$ smartthings schema:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>]
ARGUMENTS
ID schema app id
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete an ST Schema connector
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/deleteAppsByEndpointAppId
See code: src/commands/schema/delete.ts
regenerate the clientId and clientSecret of the ST Schema connector
USAGE
$ smartthings schema:regenerate [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-o
<value>]
ARGUMENTS
ID schema app id
FLAGS
-O, --organization=<value> the organization ID to use for this command
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
regenerate the clientId and clientSecret of the ST Schema connector
NOTE: The previous values will be invalidated, which may affect existing installations.
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/generateStOauthCredentials
See code: src/commands/schema/regenerate.ts
update an ST Schema connector
USAGE
$ smartthings schema:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-d] [--authorize] [--principal <value>] [--statement <value>]
ARGUMENTS
ID the app id
FLAGS
-O, --organization=<value> the organization ID to use for this command
-d, --dry-run produce JSON but don't actually submit
--authorize authorize Lambda functions to be called by SmartThings
--principal=<value> use this principal instead of the default when authorizing lambda functions
--statement=<value> use this statement id instead of the default when authorizing lambda functions
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update an ST Schema connector
For API information, see:
https://developer.smartthings.com/docs/api/public/#operation/putAppsByEndpointAppId
See code: src/commands/schema/update.ts
list all virtual devices available in a user account or retrieve a single device
USAGE
$ smartthings virtualdevices [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-o <value>] [-l
<value>] [-a <value>] [-v]
ARGUMENTS
ID device to retrieve; UUID or the number of the device from list
FLAGS
-a, --installed-app=<UUID> filter results by installed app that created the device
-l, --location=<UUID>... filter results by location
-v, --verbose include location name in output
COMMON FLAGS
-h, --help Show CLI help.
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
list all virtual devices available in a user account or retrieve a single device
See code: src/commands/virtualdevices.ts
create a virtual device from a device profile ID or definition
USAGE
$ smartthings virtualdevices:create [-h] [-p <value>] [-t <value>] [--language <value>] [-O <value>] [-j] [-y] [-i
<value>] [-o <value>] [-d] [-N <value>] [-l <value>] [-R <value>] [-P <value>] [-f <value>] [-L] [-H <value>] [-D
<value>]
FLAGS
-D, --driver=<UUID> driver used for locally executing device
-H, --hub=<UUID> hub on which to run locally executing device
-L, --local run this device locally on a SmartThings hub. Requires a hub and driver
-N, --name=<value> name of the device to be created
-O, --organization=<value> the organization ID to use for this command
-P, --device-profile=<UUID> the device profile ID
-R, --room=<UUID> the room to put the device into
-d, --dry-run produce JSON but don't actually submit
-f, --device-profile-file=<value> a file containing the device profile definition
-l, --location=<UUID> location into which device should be created
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a virtual device from a device profile ID or definition
The command can be run interactively in question & answer mode, with command line parameters, or with input from a
file or standard in. You can also run this command multiple times with the same input file but different command line
arguments to create multiple devices with different names in different locations and rooms.
EXAMPLES
$ smartthings virtualdevices:create # interactive mode
$ smartthings virtualdevices:create -i data.yml # using request body from a YAML file
$ smartthings virtualdevices:create -N "My Device" -i data.yml # using file request body with "My Device" for the name
$ smartthings virtualdevices:create \ # using command line parameters for everything
> --name="My Second Device" \
> --device-profile=7633ef68-6433-47ab-89c3-deb04b8b0d61 \
> --location=95bdd473-4498-42fc-b932-974d6e5c236e \
> --room=c7266cb7-7dcc-4958-8bc4-4288f5b50e1b
$ smartthings virtualdevices:create -f profile.yml # using a device profile and prompting for the remaining values
See code: src/commands/virtualdevices/create.ts
create a device from one of the standard prototypes.
USAGE
$ smartthings virtualdevices:create-standard [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d] [-N <value>] [-l <value>] [-R <value>] [-T <value>] [-L] [-H <value>]
FLAGS
-H, --hub=<UUID> hub on which to run locally executing device
-L, --local run this device locally on a SmartThings hub
-N, --name=<value> name of the device to be created
-R, --room=<UUID> the room to put the device into
-T, --prototype=<value> standard device prototype, e.g. VIRTUAL_SWITCH or VIRTUAL_DIMMER_SWITCH
-d, --dry-run produce JSON but don't actually submit
-l, --location=<UUID> location into which device should be created
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create a device from one of the standard prototypes.
The command can be run interactively in question & answer mode, with command line parameters, or with input from a
file or standard in. You can also run this command multiple times with the same input file but different command line
arguments to create multiple devices with different names in different locations and rooms.
EXAMPLES
$ smartthings virtualdevices:create-standard # interactive mode
$ smartthings virtualdevices:create-standard -i data.yml # using request body from a YAML file
$ smartthings virtualdevices:create-standard -N "My Device" -i data.yml # using file request body with "My Device" for the name
$ smartthings virtualdevices:create-standard \ # using command line parameters for everything
> --name="My Second Device" \
> --prototype=VIRTUAL_SWITCH \
> --location=95bdd473-4498-42fc-b932-974d6e5c236e \
> --room=c7266cb7-7dcc-4958-8bc4-4288f5b50e1b
See code: src/commands/virtualdevices/create-standard.ts
delete a virtual device
USAGE
$ smartthings virtualdevices:delete [ID] [-h] [-p <value>] [-t <value>] [--language <value>]
ARGUMENTS
ID device UUID
COMMON FLAGS
-h, --help Show CLI help.
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
delete a virtual device
See code: src/commands/virtualdevices/delete.ts
create events for a virtual device
USAGE
$ smartthings virtualdevices:events [ID] [NAME] [VALUE] [UNIT] [-h] [-p <value>] [-t <value>] [--language <value>] [-j]
[-y] [-i <value>] [-o <value>] [-d]
ARGUMENTS
ID the device id
NAME the fully qualified attribute name [<component>]:<capability>:<attribute>
VALUE the attribute value
UNIT optional unit of measure
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
create events for a virtual device
The command can be run interactively, in question & answer mode, with command line parameters, or with input from a
file or standard in.
EXAMPLES
$ smartthings virtualdevices:events # interactive mode
$ smartthings virtualdevices:events <id> -i data.yml # from a YAML or JSON file
$ smartthings virtualdevices:events <id> switch:switch on # command line input
$ smartthings virtualdevices:events <id> temperatureMeasurement:temperature 22.5 C # command line input
See code: src/commands/virtualdevices/events.ts
update a virtual device's label and room
USAGE
$ smartthings virtualdevices:update [ID] [-h] [-p <value>] [-t <value>] [--language <value>] [-j] [-y] [-i <value>] [-o
<value>] [-d]
ARGUMENTS
ID the device id
FLAGS
-d, --dry-run produce JSON but don't actually submit
COMMON FLAGS
-h, --help Show CLI help.
-i, --input=<value> specify input file
-j, --json use JSON format of input and/or output
-o, --output=<value> specify output file
-p, --profile=<value> [default: default] configuration profile
-t, --token=<value> the auth token to use
-y, --yaml use YAML format of input and/or output
--language=<value> ISO language code or "NONE" to not specify a language. Defaults to the OS locale
DESCRIPTION
update a virtual device's label and room
See code: src/commands/virtualdevices/update.ts
Debug logging can be enabled via the SMARTTHINGS_DEBUG
environment variable. This will log at debug level to the console as well as the default log file.
$ SMARTTHINGS_DEBUG=true smartthings <command>
More details about advanced configuration and logging in the CLI can be found on the configuration documentation page.