List all cover/roller components on the specified device with their current status.
Cover components control motorized blinds, shutters, and garage doors. Each
cover has an ID, optional name, state (open/closed/opening/closing/stopped),
position (percentage), and power consumption if supported.
Output is formatted as a table by default. Use -o json or -o yaml for
structured output suitable for scripting.
Columns: ID, Name, State, Position (%), Power (watts)
# List all covers on a device
shelly cover list bedroom
# List covers with JSON output
shelly cover list bedroom -o json
# Get covers that are fully open
shelly cover list bedroom -o json | jq '.[] | select(.current_pos == 100)'
# Find covers currently in motion
shelly cover list bedroom -o json | jq '.[] | select(.state == "opening" or .state == "closing")'
# Get position of all covers
shelly cover list bedroom -o json | jq '.[] | {id, position: .current_pos}'
# Check cover positions across multiple devices
for dev in bedroom living-room; do
echo "=== $dev ==="
shelly cover list "$dev" --no-color
done
# Short forms
shelly cover ls bedroom
shelly cv ls bedroom
--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)