shellyctl
v0.1.0
Published
Command-line client for Shelly smart devices, built on shelly-rpc.
Maintainers
Readme
shelly-rpc
A Rust workspace for talking to Shelly smart devices.
shelly-rpc— ano_std-first client library. Define your own transport for embedded use, or opt intostdfor a batteries-included HTTP transport.shellyctl— a command-line client built on top ofshelly-rpc.
Status
Skeleton. APIs are placeholders and will change.
Workspace layout
.
├── Cargo.toml # workspace manifest
├── shelly-rpc/ # library crate (no_std-first)
└── shellyctl/ # binary crate (std)Installation
macOS / Linux (curl)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/pawelchcki/shelly-rpc/releases/latest/download/shellyctl-installer.sh | shWindows (PowerShell)
powershell -c "irm https://github.com/pawelchcki/shelly-rpc/releases/latest/download/shellyctl-installer.ps1 | iex"Homebrew
brew install pawelchcki/shellyctl/shellyctlnpm
npm install -g shellyctlFrom source
cargo install --git https://github.com/pawelchcki/shelly-rpc shellyctlUpdating (for curl/PowerShell installs)
shellyctl self-updateBinaries installed via Homebrew or npm should be upgraded through those package managers instead.
Building
# default (no_std) build of the library
cargo check -p shelly-rpc
# with the std transport
cargo check -p shelly-rpc --features std
# build the CLI
cargo build -p shellyctlLicense
Dual-licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option. Both licenses require that the original copyright notice and license text be preserved in copies and substantial portions of the software — i.e. attribution is required.
