# Turn off switches specific devices
shelly batch off light-1 light-2
# Turn off switches all devices in a group
shelly batch off --group living-room
# Turn off switches all registered devices
shelly batch off --all
# Control switch 1 on all devices in group
shelly batch off --group bedroom --switch 1
# Control concurrency and timeout
shelly batch off --all --concurrent 10 --timeout 30s
# Pipe device names from a file
cat devices.txt | shelly batch off
# Pipe from device list command
shelly device list -o json | jq -r '.[].name' | shelly batch off
-a, --all Target all registered devices
-c, --concurrent int Max concurrent operations (default 5)
--dry-run Preview actions without executing
-g, --group string Target device group
-h, --help help for off
-s, --switch int Switch component ID
-t, --timeout duration Timeout per device (default 10s)
--config string Config file (default $HOME/.config/shelly/config.yaml)
-F, --fields Print available field names for use with --jq and --template
-Q, --jq stringArray Apply jq expression to filter output (repeatable, joined with |)
--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)