shelly-cli-0.1.0 is not a library.
shelly
A fast CLI for discovering, monitoring, and controlling Shelly smart home devices.
Features
- Auto-discovery of Shelly devices on the local network
- Unified Gen1 + Gen2/Gen3 support (transparent protocol handling)
- Interactive watch dashboard with live power, temperature, WiFi monitoring -- and switch control
- Device health checks (temperature, WiFi signal, firmware, uptime)
- Device groups with filter-based and name-based definitions
- Firmware check and update across all devices
- Device renaming from the CLI
- Structured JSON output for scripting and AI agent integration
- Shell completions (bash, zsh, fish, powershell)
- Fuzzy device name matching with "did you mean?" suggestions
- Color output with automatic detection
Install
uv (recommended)
pip
Cargo
Homebrew (macOS/Linux)
Pre-built binaries
Download from GitHub Releases.
From source
Quick Start
# 1. Discover devices on your network
# 2. See what you found
# 3. Check device health
Usage
Device control
Monitoring
Device management
Groups
Configuration
Agent Integration
Designed for scripting and AI agent use with structured, machine-readable output.
# Structured JSON output (auto-enabled when piped)
|
# Consistent envelope: {"ok": true, "data": ...} or {"ok": false, "error": {...}}
# {"ok": false, "error": {"code": "DEVICE_NOT_FOUND", "message": "..."}}
# Machine-readable schema
Groups Configuration
Groups are defined in a TOML file:
# ~/.config/shelly-cli/groups.toml (Linux)
# ~/Library/Application Support/shelly-cli/groups.toml (macOS)
[]
= ["Kitchen Light", "Living Room Light", "Bedroom Light"]
= { = "gen1" }
= { = "gen3" }
= { = "all" }
Or manage via CLI: shelly group add, shelly group remove, shelly group show.
Supported Devices
| Generation | Examples | Status |
|---|---|---|
| Gen1 | Shelly 1, 1PM, 2.5, Plug S, Dimmer | Supported (switch, power, firmware) |
| Gen2 | Shelly Plus 1, Plus 1PM, Plus 2PM | Supported (switch, power, firmware) |
| Gen3 | Shelly Mini 1PM G3, Plus series G3 | Supported (switch, power, firmware) |
License
MIT License -- see LICENSE file.