Shelly CLI

A powerful, intuitive command-line interface for managing Shelly smart home devices.

Control Gen1, Gen2, Gen3, and Gen4 Shelly devices with a unified CLI. Features batch operations, TUI dashboard, 280+ themes, and a plugin system.

Full Device Support

Control all Shelly device generations (Gen1-4) with a unified interface. Switches, lights, covers, thermostats, RGB, and more.

TUI Dashboard

Interactive terminal dashboard inspired by k9s. Real-time device status, quick controls, and keyboard-driven navigation.

Batch Operations

Control multiple devices simultaneously. Create groups, define scenes, and execute batch commands with concurrent execution.

Plugin System

Extend functionality with custom plugins using the gh-style architecture. Create, install, and share plugins easily.

280+ Themes

Built-in theme support via bubbletint. Choose from Dracula, Nord, Gruvbox, and 280+ other themes, or create your own.

Scriptable

JSON, YAML, CSV, and template output formats. Shell completions for bash, zsh, fish, and PowerShell. Built for automation.

Quick Start

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Install via Homebrew (macOS/Linux)
brew install tj-smith47/tap/shelly-cli

# Or via Go
go install github.com/tj-smith47/shelly-cli/cmd/shelly@latest

# Initialize configuration
shelly init

# Add a device to your registry
shelly device add living-room 192.168.1.100

# Control devices with quick commands
shelly on living-room
shelly off living-room
shelly toggle living-room

# Check device status
shelly status living-room

# Launch the TUI dashboard
shelly dash

Features at a Glance

CategoryFeatures
Device ControlSwitch, Light, Cover, Thermostat, RGB, Input, Sensor components
DiscoverymDNS, BLE, CoIoT automatic device discovery
AutomationScenes, Schedules, Scripts, Webhooks, Actions
MonitoringEnergy tracking, Power monitoring, Prometheus metrics export
ProtocolsBTHome, Zigbee, Matter, LoRa smart home protocol support
OutputTable, JSON, YAML, CSV, Go template output formats
ExtensibilityPlugin system, command aliases, custom themes