shelly script list

shelly script list

List scripts on a device

Synopsis

List all scripts on a Gen2+ Shelly device.

Shows script ID, name, enabled status, and running status. Scripts are user-programmable JavaScript code that runs directly on the device for automation and custom logic.

Output is formatted as a table by default. Use -o json or -o yaml for structured output suitable for scripting.

Columns: ID, Name, Enabled (yes/no), Running (running/stopped)

1
shelly script list <device> [flags]

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  # List all scripts
  shelly script list living-room

  # Output as JSON
  shelly script list living-room -o json

  # Get IDs of running scripts
  shelly script list living-room -o json | jq -r '.[] | select(.running) | .id'

  # Check if any script is running
  shelly script list living-room -o json | jq -e 'any(.running)' > /dev/null && echo "Scripts running"

  # Short form
  shelly script ls living-room

Options

1
  -h, --help   help for list

Options inherited from parent commands

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
      --config string           Config file (default $HOME/.config/shelly/config.yaml)
      --log-categories string   Filter logs by category (comma-separated: network,api,device,config,auth,plugin)
      --log-json                Output logs in JSON format
      --no-color                Disable colored output
      --no-headers              Hide table headers in output
      --offline                 Only read from cache, error on cache miss
  -o, --output string           Output format (table, json, yaml, template) (default "table")
      --plain                   Disable borders and colors (machine-readable output)
  -q, --quiet                   Suppress non-essential output
      --refresh                 Bypass cache and fetch fresh data from device
      --template string         Go template string for output (use with -o template)
  -v, --verbose count           Increase verbosity (-v=info, -vv=debug, -vvv=trace)

SEE ALSO