Coder Social home page Coder Social logo

smartthingscommunity / smartthings-cli Goto Github PK

View Code? Open in Web Editor NEW
223.0 78.0 102.0 9.64 MB

Command-line Interface for the SmartThings APIs.

Home Page: https://developer.smartthings.com/docs/sdks/cli/introduction

License: Apache License 2.0

JavaScript 0.66% Batchfile 0.01% TypeScript 99.26% Python 0.07%

smartthings-cli's Introduction

Overview

oclif npm version npm License

SmartThings CLI

The SmartThings CLI is a tool to help with developing SmartApps and drivers for the SmartThings ecosystem.

Usage

Installation

Homebrew (macOS)

brew install smartthingscommunity/smartthings/smartthings

Windows

Download and run the smartthings.msi installer from the latest Release.

Standalone Installation (Linux and others)

  1. Download the appropriate zipped binary from the latest Release.
  2. Extract and install it on your system path. It does not need administrator privileges but will need to be executable.

Verify Installation

Run smartthings --version and verify the version matches the latest release.

Getting Started

  1. Run smartthings --help to get more information on each command.
  2. Run a specific command with smartthings <command>.

Input and Output Considerations

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.

Authentication

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.

Helpful Hints

  1. 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
  2. The CLI accepts data in YAML or JSON format and can output data in either format as well as the default table format.
  3. Commands that take input accept stdin or a file specified by the --input (shortcut -i) flag.
  4. Commands that output data will output the data to stdout unless a file is specified the using --output (shortcut -o`) flag.
  5. 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).
  6. 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.
  7. Command line flags must go after the command. Use smartthings command -f flag instead of smartthings -f flag command.
  8. You can open an issue to report a bug or ask a question.

Commands

Commands that use the SmartThings REST API are organized in topics that map to the API spec.

smartthings apps [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

smartthings apps:authorize ARN

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

smartthings apps:create

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

smartthings apps:delete [ID]

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

smartthings apps:oauth [ID]

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

smartthings apps:oauth:generate [ID]

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

smartthings apps:oauth:update [ID]

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

smartthings apps:register [ID]

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

smartthings apps:settings [ID]

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

smartthings apps:settings:update [ID]

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

smartthings apps:update [ID]

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

smartthings autocomplete [SHELL]

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

smartthings capabilities [ID] [VERSION]

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

smartthings capabilities:create

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

smartthings capabilities:delete [ID] [VERSION]

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

smartthings capabilities:namespaces

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

smartthings capabilities:presentation [ID] [VERSION]

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

smartthings capabilities:presentation:create [ID] [VERSION]

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

smartthings capabilities:presentation:update [ID] [VERSION]

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

smartthings capabilities:translations [ID] [VERSION] [TAG]

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

smartthings capabilities:translations:create [ID] [VERSION]

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

smartthings capabilities:translations:update [ID] [VERSION]

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

smartthings capabilities:translations:upsert [ID] [VERSION]

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

smartthings capabilities:update [ID] [VERSION]

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

smartthings config [NAME]

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

smartthings config:reset

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

smartthings devicepreferences [IDORINDEX]

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

smartthings devicepreferences:create

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

smartthings devicepreferences:translations [PREFERENCEID] [TAG]

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

smartthings devicepreferences:translations:create [PREFERENCEID]

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

smartthings devicepreferences:translations:update [PREFERENCEID]

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

smartthings devicepreferences:update [ID]

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

smartthings deviceprofiles [ID]

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

smartthings deviceprofiles:create

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

smartthings deviceprofiles:delete [ID]

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

smartthings deviceprofiles:device-config [ID]

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

smartthings deviceprofiles:presentation [ID]

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

smartthings deviceprofiles:publish [ID]

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

smartthings deviceprofiles:translations [ID] [TAG]

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

smartthings deviceprofiles:translations:delete [ID] [TAG]

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

smartthings deviceprofiles:translations:upsert [ID]

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

smartthings deviceprofiles:update [ID]

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

smartthings deviceprofiles:view [ID]

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

smartthings deviceprofiles:view:create

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

smartthings deviceprofiles:view:update [ID]

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

smartthings devices [ID]

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

smartthings devices:capability-status [ID] [COMPONENT] [CAPABILITY]

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

smartthings devices:commands [ID] [COMMAND]

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

smartthings devices:component-status [ID] [COMPONENT]

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

smartthings devices:delete [ID]

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

smartthings devices:health [ID]

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

smartthings devices:history [ID]

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

smartthings devices:preferences [ID]

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

smartthings devices:presentation [ID]

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

smartthings devices:rename [ID] [LABEL]

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

smartthings devices:status [ID]

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

smartthings devices:update [ID]

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

smartthings edge:channels [IDORINDEX]

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

smartthings edge:channels:assign [DRIVERID] [VERSION]

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

smartthings edge:channels:create

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

smartthings edge:channels:delete [ID]

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

smartthings edge:channels:drivers [IDORINDEX]

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

smartthings edge:channels:enroll [HUBID]

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

smartthings edge:channels:enrollments [IDORINDEX]

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

smartthings edge:channels:invites [IDORINDEX]

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

smartthings edge:channels:invites:accept ID

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

smartthings edge:channels:invites:create

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

smartthings edge:channels:invites:delete [ID]

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

smartthings edge:channels:metainfo [IDORINDEX]

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

smartthings edge:channels:unassign [DRIVERID]

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

smartthings edge:channels:unenroll [HUBID]

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

smartthings edge:channels:update [ID]

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

smartthings edge:drivers [IDORINDEX]

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

smartthings edge:drivers:default [IDORINDEX]

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

smartthings edge:drivers:delete [ID]

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

smartthings edge:drivers:devices [IDORINDEX]

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

smartthings edge:drivers:install [DRIVERID]

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

smartthings edge:drivers:installed [IDORINDEX]

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

smartthings edge:drivers:logcat [DRIVERID]

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

smartthings edge:drivers:package [PROJECTDIRECTORY]

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

smartthings edge:drivers:prune [DRIVERID]

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

smartthings edge:drivers:switch [DEVICEID]

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

smartthings edge:drivers:uninstall [DRIVERID]

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

smartthings help [COMMAND]

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

smartthings installedapps [ID]

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

smartthings installedapps:delete [ID]

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

smartthings installedapps:rename [ID] [NAME]

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

smartthings installedschema [ID]

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

smartthings installedschema:delete [ID]

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

smartthings invites:schema [IDORINDEX]

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

smartthings invites:schema:create

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

smartthings invites:schema:delete [ID]

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

smartthings locations [IDORINDEX]

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

smartthings locations:create

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

smartthings locations:delete [ID]

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

smartthings locations:history [ID]

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

smartthings locations:modes [IDORINDEX]

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

smartthings locations:modes:create

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

smartthings locations:modes:delete [ID]

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

smartthings locations:modes:getcurrent

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

smartthings locations:modes:setcurrent [ID]

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

smartthings locations:modes:update [ID]

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

smartthings locations:rooms [IDORINDEX]

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

smartthings locations:rooms:create

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

smartthings locations:rooms:delete [ID]

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

smartthings locations:rooms:update [ID]

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

smartthings locations:update [ID]

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

smartthings logout

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

smartthings organizations [ID]

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

smartthings organizations:current

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

smartthings plugins

List installed plugins.

USAGE
  $ smartthings plugins [--core]

FLAGS
  --core  Show core plugins.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ smartthings plugins

See code: @oclif/plugin-plugins

smartthings plugins:install PLUGIN...

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

smartthings plugins:inspect PLUGIN...

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

smartthings plugins:install PLUGIN...

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

smartthings plugins:link PLUGIN

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

smartthings plugins:uninstall PLUGIN...

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

smartthings plugins:uninstall PLUGIN...

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

smartthings plugins:uninstall PLUGIN...

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

smartthings plugins:update

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

smartthings presentation PRESENTATIONID [MANUFACTURERNAME]

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

smartthings presentation:device-config PRESENTATIONID [MANUFACTURERNAME]

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

smartthings presentation:device-config:create

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

smartthings presentation:device-config:generate ID

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

smartthings rules [IDORINDEX]

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

smartthings rules:create

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

smartthings rules:delete [ID]

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

smartthings rules:execute [ID]

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

smartthings rules:update [ID]

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

smartthings scenes [IDORINDEX]

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

smartthings scenes:execute [ID]

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

smartthings schema [ID]

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

smartthings schema:authorize ARN

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

smartthings schema:create

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

smartthings schema:delete [ID]

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

smartthings schema:regenerate [ID]

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

smartthings schema:update [ID]

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

smartthings virtualdevices [ID]

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

smartthings virtualdevices:create

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

smartthings virtualdevices:create-standard

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

smartthings virtualdevices:delete [ID]

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

smartthings virtualdevices:events [ID] [NAME] [VALUE] [UNIT]

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

smartthings virtualdevices:update [ID]

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

Configuration and Logging

Enable Debug Logging

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.

smartthings-cli's People

Contributors

bflorian avatar dependabot[bot] avatar doczillar avatar github-actions[bot] avatar jeztucker avatar jodyalbritton avatar john-u avatar patshiab avatar rankin-tr avatar rossiam avatar saulfloresbluetrail avatar sitlintac avatar smartthingspi avatar wrt54g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smartthings-cli's Issues

CLI doens't export all device history

Describe the bug
When using smartthings.exe devices:history -L 20000 , this does retrieve all history. When exporting to json again this does not export all history. What is the expectation here? I can see full history via the command line by entering Y each time to load more data.

To Reproduce
As per above

Expected behavior
All device history data to be exported.

Actual behavior
Limited subset of data exported (same day, few hours)

Additional context

edge:channels list has too much information

Is your feature request related to a problem? Please describe.
The output of the edge:channels command in list mode is way to wide for any reasonably-sized terminal window.

Describe the solution you'd like
Limit the output to channel id, name, creation date, and last modified date. Users can query a single channel to get more details.

question: Why do I get an error on creating a custom capability?

I am trying to create a custom capability using the CLI. I want to create a basic capability with a single string attribute and a setter command for the same. I have tried multiple names and followed the pattern rules from the smartthings-cli/packages/cli/src/commands/capabilities/create.ts file. The error is not descriptive and I am not able to figure out why the error is caused.

error

devices:commands argument parsing error with enum type?

If I am missing the proper syntax I apologize, but I feel like I've tried all potential ways of supplying a string argument to the command. I know this is a "custom" capability and not in the documentation so I'm not sure if the parsing issue (if there is one) is with devices:commands or with the capability itself.

For an OCF robot cleaner (Samsung) there is a capability samsungce.robotCleanerCleaningMode with command setCleaningMode(cleaningMode<enum {stop, auto, manual, spot, area, object, map, pet uncleanedObject, patternMap}>) . Attempting to pass "auto" (in many permutations) results in this syntax error:

.\smartthings.exe devices:commands <DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode(auto)
SyntaxError: Unexpected token a in JSON at position 1
.\smartthings.exe devices:commands <DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode("auto")
SyntaxError: Unexpected token a in JSON at position 1
.\smartthings.exe devices:commands <DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode('auto')
SyntaxError: Unexpected token ' in JSON at position 1
.\smartthings.exe devices:commands<DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode([auto])
SyntaxError: Unexpected token a in JSON at position 2
.\smartthings.exe devices:commands <DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode(["auto"])
SyntaxError: Unexpected token a in JSON at position 2

But supplying "null" or an integer does not result in a syntax error:
.\smartthings.exe devices:commands <DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode(null)
Error: Request failed with status code 422: {"requestId":<REQUEST ID>,"error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotNullError","target":"commands[0].arguments[0]","message":"commands[0].arguments[0] cannot be null.","details":[]}]}}

.\smartthings.exe devices:commands <DEVICE ID> samsungce.robotCleanerCleaningMode:setCleaningMode(0)
Error: Request failed with status code 422: {"requestId":<REQUEST ID>,"error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"UnprocessableEntityError","target":"commands[0].arguments[0]","message":"commands[0].arguments[0]: integer found, string expected","details":[]},{"code":"UnprocessableEntityError","target":"commands[0].arguments[0]","message":"commands[0].arguments[0]: does not have a value in the enumeration [stop, auto, manual, spot, area, object, map, pet, uncleanedObject, patternMap]","details":[]}]}}

Which would seem to indicate a parsing issue with string arguments? Potentially in the JSON.parse assignment of the args? Or I am completely misunderstanding on how to supply a value for the enum.

SThings

Requesting features and support

Add Label to devices:delete default output.

Is your feature request related to a problem? Please describe.
Consider ...

> smartthings devices:delete
┌────┬─────────────────────┬─────────────────────────────────┐
│ #   │ Name                    │ Device Id                            │
├────┼─────────────────────┼─────────────────────────────────┤
│ 1   │ basic-switch            │ 12345678-1234-1234-1234-123456780001 │
│ 2   │ basic-switch            │ 12345678-1234-1234-1234-123456780002 │
│ 3   │ basic-switch            │ 12345678-1234-1234-1234-123456780003 │
│ 4   │ basic-switch            │ 12345678-1234-1234-1234-123456780004 │
...
? Select device to delete.

Might I suggest that if you don't already know the Device Id you aren't going to be able to make a wise choice, and if you do know the Device Id you'd be better off including it as a command line argument.

Some users (like me) may find it tempting to use the smartthings devices command to see which device is which and then note the index in the table. If you use that in smartthings devices:delete you will delete the wrong device.

Describe the solution you'd like
Add the Label to the default output and sort on that so that it is useful as it is and also matches the default smartthings devices display.

Describe alternatives you've considered
Looking what I am doing next time.

Additional context
I suspect you may already have this on your list of snags but it caught me out and I deleted a device I didn't intend to. I'd like to think I am not the only one.

feature request -> mssing data in devices output

I am missing a few data points from devices when using the CLI vs what's available inte the IDE

Command:
smartthings devices {n} [-y|-j]

Would it be possible to add this data in the response?

  • route
  • metrics

I would like to be able to dump the routine script to a file or standard out

Is your feature request related to a problem? Please describe.
The problem is I can't get a smartthing app routine to work the way I think it should.
The routine runs once and stops. It should trigger every time I have a trigger set.

Describe the solution you'd like
I would like to be able to dump the routine script to a file or standard out so I can see what it's doing or not doing.

Describe alternatives you've considered
Is there a way to turn on debug logging in smartthing app.

Additional context
Add any other context or screenshots about the feature request here.

Package name change

"name": "smartthings-cli",

A thought – perhaps this should be @smartthings/cli so it's underneath the @smartthings organization umbrella. This doesn't affect the environment command name or repo name at all.

Having trouble to authorize cli access

I downloaded the binary and trying to get it to work.

I'm having trouble authorizing access for cli, when I run any command it pops up my browser and i authenticate and grant access. Then I get a message that states that I can close the window, but nothing happens in the command prompt (just ticking dots)

Any advice?

Environment:

  • Ubuntu 18.04
  • smartthings/cli/0.0.0-pre.6 linux-x64 node-v12.18.1
  • I'm authenticating using Samsung account.
  • I have 2FA activated.

image

image

image

Bad URL for getting an access token in documentation

The documentation (smartthings-cli/packages/cli/doc/configuration.md) has a reference to URL
https://smartthings.developer.samsung.com/docs/auth-and-permissions.html. This URL is now obsolete and I get forwarded to
a generic page that has no obvious way to get an access token. I found this discussed in a commuity forum discussion where someone recomended this URL https://account.smartthings.com/tokens. This URL worked for me; I was able to get a functional access token.

Text-to-speech to connected sonos speaker question:

What is your question? Please describe.
Is it possible to use the CLI to have text read aloud by a connected Sonos speaker similar to how the Android app works? I am able to play a sound file, but I was hoping that the TTS function would be built in. Perhaps this is a feature request?

Additional context
image

Can I interact with my phone with this?

What is your question? Please describe.
Anyhow can I use this to "Find My Phone"? I'd like to be able to acquire my phone's (last) known location, but it's not showing up in between devices. (Devices are only for devices not joining to the phone via Bluetooth?)

save IP address

Is your feature request related to a problem? Please describe.

every time I want to get a log using

smartthings edge:drivers:logcat

there is a prompt

Enter hub IP address with optionally appended port number:

Describe the solution you'd like
it would be great if the app can save this information after a first input. The majority of users have only one hub and the IP address is rather constant.

Describe alternatives you've considered

as an alternative, there could be a key for
edge:drivers:logcat -IP 192.168.0.11

question:

What is your question? Please describe.
I'm writing a linux script to update a web page periodically with temperature/humity sensor values. I'd like each row to have room name (to identify the sensor), temperature and humidity. I can get list of sensors and properties (e.g. temperature) from smartthings devices and smartthings devices:status. In the ST app, get this info along with a room name for each sensor. "smartthings locations:rooms" gives me a list of room name, location IDs, and room IDs. Is there a way to get a room ID for a device in the CLI?

Additional context
I apologize if I overlooked something obvious.

Please check saved answers are valid, then say if they are being used.

Is your feature request related to a problem? Please describe.
When a fellow user demonstrates a problem where they aren't being prompted to select a channel it is not unusual to completely forget that there is such a thing as 'saved answers', especially when they have saved a channel that either doesn't exist or doesn't belong to them and there is a prominent error message that distracts you.

Describe the solution you'd like
Let's consider the case of channels. I'd like you to check the saved channel is valid for the command being performed, and if it is I'd like you to say it is being used.

Describe alternatives you've considered
Alternatively just stop saving defaults. I'm easy ...

Additional context

smartthings edge: commands result in error

I'm embarking on converting my existing devices to edge. Having trouble with the basics of the CLI.

Example:

PS C:\Users\paull\OneDrive\Documents\SmartThings> smartthings edge:channel:create
 »   Warning: edge:channel:create is not a smartthings command.

Actually any command that begins with smartthings edge: fails with a similar error.

Is this a problem with the version of my CLI? I have tried npm update -g @smartthings/cli.

Current version is: @smartthings/cli/0.0.0-pre.26 win32-x64 node-v12.18.1

can't be installed on 64bit Debian 11

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Actual behavior
A clear and concise description of what actually happens.

Additional context
Add any other context about the problem here. Please include output of smartthings --version. Screenshots can be helpful too.

smartthings edge:channels:unenroll unenrolls hubs from channels they weren't enrolled in to start with

Describe the bug
I don't know if you'd call this a bug or just an odd feature. However smartthings edge:channels:unenroll will allow you to 'unenroll' any hub you can manage from any channel your account is subscribed to, regardless of whether it is enrolled in it or not.

To Reproduce

  • smartthings edge:channels:unenroll
  • Pick a channel you aren't enrolled in.
  • You'll get a list of all your hubs that you can manage.
  • Whichever hub you choose is 'unenrolled' from the channel.
  • Rinse and repeat.

Expected behavior
I'd probably expect to be presented with a list of hubs, and then a list of channels that the hub is enrolled in, and then I'd expect that hub to be removed from that channel. So rather like smartthings edge:channels:enrollments with the extra step to unenroll tucked on the end.

Actual behavior
If you type smartthings edge:channels:unenroll you get a list of all the channels you own or are subscribed to (including ones you'd love to unsubscribe to if only you could, but that's another issue). Regardless of which one you select you will get a list of all your hubs, and regardless of which hub you select you will apparently successfully unenroll that hub from the channel even though the hub isn't enrolled in that channel to start with, and you can do it again and again.

Update: Corrected the command to say 'unenroll'.

Additional context
This arose from a discussion in https://community.smartthings.com/t/unenrolling-from-subscribed-channels/258175 which mentioned 'unenroll' a lot but was probably really about not being able to unsubscribe your account from channels you no longer have any interest in. For example I followed an invite in a PR to test a driver and now I'm not being allowed to forget it. While preparing an answer for that thread I got diverted to this issue instead.

Device handler

Why cant I find the menu for device handler there I can put in my code for my new device Xiomi motion sensor? The hole setup look as at my phone in the app and all helpguides are showing me web version.

question: how to launch nextflix on smart tv using postman or cli

What is your question? Please describe.
I have the smarthings cli setup, and can turn my tv on, off, mute/unmute fine
but I can't see how to launch the built in apps, like Netflix, or make it search Netflix for something
Are there lots of example commands for things like this somewhere? In like a Postman collection or something?

NOTE: I have found this collection, but was looking for more TV oriented examples if possible: https://www.postman.com/smartthings?tab=overview

Or a nice simple wrapper script that shows common usages in bash?
Thanks in advance!

Login flow does not work on a headless machine

Describe the bug
The login flow on Linux attempts to use xdg-open to open a URL. This results in an error if the tool is being used on a headless machine, which likely does not have this software on the path.

To Reproduce
On a headless machine (e.g. on SSHing to a Raspberry Pi):

# No credentials have been configured at this point 
$ ./smartthings apps
logging in... done
node:events:505
      throw er; // Unhandled 'error' event
      ^

Error: spawn xdg-open ENOENT
    at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
    at onErrorNT (node:internal/child_process:478:16)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (node:internal/child_process:289:12)
    at onErrorNT (node:internal/child_process:478:16)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn xdg-open',
  path: 'xdg-open',
  spawnargs: [ 'http://localhost:61974/start' ]
}
$ echo $? 
1

Expected behavior
The login flow should fall back to requesting that the user opens a given external URL in their browser (outside of the headless machine), and then it requests the code to be returned (e.g. via interactive input submission).

Actual behavior
Failure due to missing xdg-open command (and ability to conduct login on the machine CLI is being used on).

Additional context

$ ./smartthings --version
@smartthings/cli/1.1.2 linux-arm node-v16.16.0

question: List of FingerPrints supported by a driver

What is your question? Please describe.
I've looked on all the CLI commands exists. I was unable to find a command that show all the fingerprints in a driver. Can you please point to the CLI command for that.

Additional context
Please note that most of the developers not always share the fingerprint.yml file in GitHub.

CI: separate alternative pkg builds from main build pipeline

Is your feature request related to a problem? Please describe.
We currently build executables during every release and run functional tests against the major 3 supported platforms (win, macos, linux). However, several other build targets can now be built such as ARMv7, which can be useful for developers, but are only supported by pkg and us on a best-effort basis.

Having such a large list of build targets slows down our main release build. It also adds risk that the release will fail even if only one of the alternative targets has an issue, when the main supported builds could have been tested and released.

Describe the solution you'd like

  1. Refactor the release workflow so that we only depend on the successful build of major supported OS pkg targets for functional tests and release.
  2. Fork a secondary pkg job that runs best-effort builds and waits for the release to be created before updating it with the alternatives.

Additional context
#409

command request malformed

I'm most likely entering the command wrong:

smartthings devices:commands 9 1:2                                                     

[2020-12-21T23:22:03.632] [ERROR] cli - caught error Error: Request failed with status code 422: {"requestId":"60B2BB99-82E4-40BE-BBBF-4509D8905CA5","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"[0].capability","message":"1 is not a valid value.","details":[]}]}}

My intention with above command was to send a command to:

device: 9
capability: 1
command: 2

Which would turn a light on in my case. The help screen says COMMAND the command [<component>]:<capability>:<command>([<arguments>]) which I interpreted as component and arguments are optional, while capability and command are required and must be separated with a :

Are changes not supposed to reflect in the Developer Workspace?

Hi,

I've tried creating a new profile using smartthings deviceprofiles:create -j -i <myfile>.json. It responds back with the JSON that includes the new profile's ID. And when I list it with smartthings deviceprofiles it shows up. However when I go Developer Workspace I don't see it. Is it not supposed to show up there?

Also if I create a profile from the UI and add a capability (even a standard one) to that profile from the CLI tool, the change doesn't show up in the UI even though the CLI will report that the profile does indeed have that capability.

I'm wondering if I'm missing some step to "commit" those changes or something like that? Or am I misusing this tool altogether?

Thanks!

./smartthings edge:drivers returns strange list

Describe the bug

subj

To Reproduce

edge:drivers

Expected behavior

see list of lua edge drivers

Actual behavior

───┬──────────────────────────────────────┬────────────────────────────────────────────────┬────────────────────────────┬─────────────┐
│ # │ Driver Id │ Name │ Version │ Package Key │
├───┼──────────────────────────────────────┼────────────────────────────────────────────────┼────────────────────────────┼─────────────┤
│ 1 │ 4aee6bda-b9d9-41fa-b2d3-319d52a7b0a4 │ aonghus-mor/Aqara Wired Wall Switch No Neutral │ 2021-02-12T12:35:56.423355 │ │
│ 2 │ 2c728178-8b63-43f8-a45f-25c5412bd1e3 │ aonghus-mor/Aqara Wired Wall Switch No Neutral │ 2021-02-11T22:44:35.90924 │ │
└───┴──────────────────────────────────────┴────────────────────────────────────────────────┴────────────────────────────┴─────────────┘

I have removed all the aonghus-mor/ from groovy IDE

rules:update always gives Error: Location ID not defined

Describe the bug
Using @smartthings/cli/0.0.0-pre.16 win32-x64 node-v12.18.1, running smartthings rules:update will always return
cli - caught error Error: Location ID not defined

To Reproduce
smartthings rules:update --location-id=\<LOCATION UUID\> --input=\<RULE\>.yaml

Expected behavior
N/A

Actual behavior
N/A

Additional context
Using smartthings rules:create is fine. Only rules:update has the problem.

Stdout and Output file from rules differ. Neither can be consumed as input.

The output of the Rules API via the CLI can not be used as the input to the Rules API via the CLI.

> smartthings rules RULEID --output=RULEID.yaml

> smartthings rules:update RULEID --input=RULEID.yaml

[2021-02-18T13:07:37.646] [ERROR] cli - caught error Error: Request failed with status code 422: {"requestId":"4C153BEC-0CCB-42F6-92D0-ACC3E9C58FB6","error":{"code":"ConstraintViolationError","target":null,"message":"The request is malformed.","details":[{"code":"BodyMalformedError","target":"id","message":"Unknown field on line 1","details":[]}]}}

I guess that might be an API issue rather than specifically a CLI issue.

I also note that the standard output of smartthings rules ends with.

id: RULEID
status: Enabled
executionLocation: Cloud

The above is the same as the output of the API called directly. As mentioned it can not be consumed as input by the API with these lines present.

Howver the RULEID.yaml is not the same as the standard output.

id: RULEID
status: Enabled
executionLocation: Cloud
locationId: LOCATIONID
locationName: LOCATION

That seems counter-intuitive.

Sunrise, sunset, location 'attributes' and the services endpoint.

When using Rules (or mobile app Routines) we can work with Sunrise and Sunset times for our Locations, as well as a selection of Location 'attributes' covering things like temperature and current weather as well as the current modes and security status.

It would help development of Rules if we could get the current values assembled in one place via the CLI. Sunrise and sunset is particularly important as users have become used to seeing that in the IDE with the legacy platform.

(This issue originally had two separate requests. The deleted one has been moved to #493.)

Access certain features only(?) available in the app

Is your feature request related to a problem? Please describe.
I am trying to get my Samsung HW-S61A sound bar integrated into my home automation (Openhab) via the SmartThings CLI. The sound bar has 2x features that are only(?) available through the phone app (not the remote control) and I cannot find a way to change their setting through the CLI. These features are "Night Mode" and "Voice enhancement", which are listed under "Advanced Sound Settings" in the phone app. (The equalizer and individual volume levels per speaker are also much easier to manage in the app, but these dont appear to be exposed via the CLI either).

I cannot, unless I'm missing it, find any way to view or change these individual settings through the CLI, but they must exist otherwise the phone app couldn't change them. For what it matters, I do not have a SmartThings hub, only the cloud option.

Basic, overall volume level does appear to be supported. I'm guessing many other devices have similar issues where features are not exposed via API/Command line or other.

Describe the solution you'd like
Many people in the home automation communities are discussing the current changes in the SmartThings API e.g. []https://community.openhab.org/t/smartthings-binding-eol/138750 as are other communities (Home Assistant etc).

I think all these people, including myself, would like to be able to easily interact with SmartThings devices in a simplistic way, and have all device features/capabilities that the SmartThings app can offer, exposed, at least via the CLI, so that we can automate as needed. This would also include pulling current status of all these settings by JSON (for example) so that we could pull in changes back to our home automation system e.g. someone used the remote control to alter the volume of a device, which is reflected in the SmartThings app/cloud and then pulled back through a JSON query to our home automation (again, just an example of one scenario that would work).

If I'm wrong and these settings are exposed already (or other such settings for other devices) it would be great to have an example of how to both find and interact with these settings within the CLI.

Additional context
Ultimately, I think people would love a local (linux/windows) daemon that could communicate with their SmartThings devices over the LAN and probably work with MQTT commands. I know this is probably beyond scope of current plans though.... but that would be amazing!!

Other settings missing "Sound Mode", "Equalizer/Tone", "Bass/Treble", "Woofer Volume", "Channel Volume" AKA "Side Speaker Volume" &"Rear Speaker Volume".

For reference, here is the command line VS the settings I mentioned in the APP

image

Thanks!

Review the help text for --assign and --install.

It might be easiest to skim through https://community.smartthings.com/t/edgeinstall-not-listing-all-my-drivers/256656 to get the background to this. If nothing else it validates issue #445 and PR #453 which is always satisfying.

The bottom line is that the help text for edge:drivers:package implies that --assign will prompt for the channel to assign the driver to. However what it really means is that it will run the equivalent of edge:channels:assign {{driverId}} which won't actually prompt if there is a valid saved channel.

I haven't tried it (or seen others try it) but I guess the same issue might apply with hubs and --install?

I can't immediately suggest better wording, but I do see how it might mislead.

Device:Commands not working when executed in linux by cron or other systemd started services

Describe the bug
In Linux (at least Debian) devices:commands and devices:update will only work if typed on the terminal. This prevents running device commands or updates at certain time intervals for example.
It appears any script started by Systemd will result in Error: did not get any data from stdin

To Reproduce
edit 'cron' jobs with crontab -e
* * * * * /home/<user>/./smartthings devices:commands <device ID> --token <token> > /dev/tty1 2>&1
OR
* * * * * /home/<user>/./smartthings devices:commands <device ID> switch:on --token <token> > /dev/tty1 2>&1
/dev/tty1 2>&1 is to display error message.
Wait 1 minute

Expected behavior
1st case: Command dialog for specified device printed on tty1
2nd case: Device with switch capability switched on and Command executed successfully printed on tty1

Actual behavior
Error: did not get any data from stdin printed on tty1

Additional context
Version: @smartthings/cli/1.0.0-beta.20 linux-arm node-v16.16.0
Smartthings-CLI functions flawlessly from terminal.
Creating a service to be ran by systemd results in the the same error.
Other commands such as devices <Device ID> work flawlessly with cron.

What's the state ot this package?

I see that this package has never had any release (all are pre release) and since its creation two years ago, it is in constant beta state. What is the state of it? Is it usable?

Tarke me

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Actual behavior
A clear and concise description of what actually happens.

Additional context
Add any other context about the problem here. Please include output of smartthings --version. Screenshots can be helpful too.

Opening CLI to a command prompt instead of running individual commands.

Is your feature request related to a problem? Please describe.
I run the CLI from a Windows CMD shell. Generally I am using a knackered old laptop to do so. I find there is a significant startup overhead when using the CLI, even if no arguments are given and the CLI is just providing a list of commands. By significant I mean of the order of five or six seconds. Even on a newer and more powerful laptop there is still a noticeable pause of a second or so before anything happens. It is quite frustrating when you have a batch of rules to update.

Describe the solution you'd like
I am hoping it would be possible to open up the CLI to a command prompt so the startup overhead only happens once.

How to change default user organization from the CLI?

What is your question? Please describe.
Is it possible to change the default user organization from the config profiles?

Additional context
Would it be possible to add this as a feature if it is not available?

Why do I still see "unenrolled" channels and their drivers?

Why do "unenrolled channels" (and their drivers) still appear in the lists with smartthings edge:channels:drivers?

I've installed (and then uninstalled) a few different drivers, and after deletion of the drivers I also unenrolled from their channels. Confirmed with edge:drivers:installed and edge:channels:enrollments (and they don't appear in lists with edge:drivers:delete or edge:channels:delete).

Maybe I'm missing something? Maybe remembering all channels is by design?

remove command aliases

We have several command aliases which results in a lot of noise in the command line help and the README file. The current version of the notfound oclif plugin works much better than it once did so these aliases aren't really necessary anymore.

Need windows zip file

Guys - I noticed you've started to post a tar file in the Release assets for the Windows executable instead of a zip. A lot of Windows users aren't going be able to extract a tar file. Can you please provide a zip file?

help command is broken.

When running the command "smartthings help" after using the windows msi installer, you receive the following response:
» Warning: help is not a smartthings command. Did you mean apps? [y/n]: » Error: Run smartthings help for a list of available commands.

Version: @smartthings/cli/1.0.0-beta.15 win32-x64 node-v16.16.0
OS: Win10 21H2 build 19044.1889

CLI commads list

The command smartthings edge: drivers: publish is missing from the CLI command list in README.md FILE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.