ESP RainMaker CLI Documentation
April 24, 2026 ยท View on GitHub
This directory contains detailed documentation and examples for the ESP RainMaker CLI tool.
Overview
The ESP RainMaker CLI (Command Line Interface) provides a set of commands to interact with the ESP RainMaker cloud service. It allows you to manage nodes, control devices, set parameters, manage schedules, handle node sharing, and perform other operations related to your ESP RainMaker devices.
Installation
Global Installation
pip install esp-rainmaker-cli
Using a Virtual Environment (recommended)
# Create a virtual environment
python3 -m venv rainmaker-env
# Activate the virtual environment
# On macOS/Linux:
source rainmaker-env/bin/activate
# On Windows:
# rainmaker-env\Scripts\activate
# Install ESP RainMaker CLI
pip install esp-rainmaker-cli
# When finished, you can deactivate the virtual environment
deactivate
Available Commands
The CLI supports the following main commands:
Configuration and Profile Management
configure --region <region>- Configure ESP RainMaker region (china, global)profile list- List all available profilesprofile current- Show current profile informationprofile switch <name>- Switch to a different profileprofile add <name> --base-url <url>- Add a new custom profileprofile remove <name>- Remove a custom profile
User Management
login- Log in to the ESP RainMaker servicelogout- Log out from the ESP RainMaker servicesignup- Sign up for a new ESP RainMaker accountforgotpassword- Reset a forgotten passwordgetuserinfo- Get details of the currently logged-in user
Node Management
getnodes- List all nodes associated with the usergetnodeconfig- Get node configurationgetnodestatus- Get online/offline status of the nodegetnodedetails- Get detailed information for all nodes or a specific noderemovenode- Remove user node mappingnode add-tags- Add tags to a nodenode remove-tags- Remove tags from a nodenode set-metadata- Set or update metadata for a nodenode delete-metadata- Delete metadata from a node
Parameter Management
getparams- Get node parameterssetparams- Set node parameters
Schedule Management
getschedules- Get schedule information for a specific nodesetschedule- Manage schedules for a specific node (add/edit/remove/enable/disable)
Node Sharing
sharing add_user- Request to add user for sharing nodessharing remove_user- Remove user from shared nodessharing accept- Accept sharing requestsharing decline- Decline sharing requestsharing cancel- Cancel sharing requestsharing list_nodes- List nodes sharing detailssharing list_requests- List pending requests
Node-level
sharingis deprecated; prefergroup sharing(see Group Management) โ even for a single node, create a group and share it.
Group Management
group add- Create a new groupgroup remove- Delete a groupgroup edit- Edit group propertiesgroup list- List all groups (optionally with hierarchy)group show- Show group detailsgroup add-nodes- Add nodes to a groupgroup remove-nodes- Remove nodes from a groupgroup list-nodes- List nodes in a groupgroup sharing add- Share group(s) / matter fabric(s) with a usergroup sharing remove- Remove group sharing with a usergroup sharing list- List sharing details for groupsgroup sharing list-requests- List pending group sharing requestsgroup sharing accept- Accept a group sharing requestgroup sharing decline- Decline a group sharing requestgroup sharing cancel- Cancel a pending group sharing request
Command Response (Beta)
create_cmd_request- Create a command response request for nodesget_cmd_requests- Get command response requests details
Device Setup
claim- Claim the node connected to a serial port (get cloud credentials)provision- Provision the node to join Wi-Fi network
Cache Management
cache enable- Enable node cache on the current profilecache disable- Disable node cache on the current profilecache show- Show cached data (all nodes or a specific node with--nodeid)cache clear- Clear cached data (all nodes or a specific node with--nodeid)
Video Streaming
stream <nodeid>- Stream video from a camera device via WebRTC (KVS signaling)
Other Operations
getmqtthost- Get the MQTT Host URL to be used in the firmwareraw-api- Make authenticated raw API calls to RainMaker backend for testing/debugging
Detailed Documentation
For detailed documentation on specific commands, refer to the following files:
- Profile Management
- Schedule Management
- Node Sharing
- Group Management
- Parameter Management
- Node Management
- Node Tags and Metadata
- Claiming
- Provisioning
- Command Response
- ESP Local Control
- Cache Management
- Video Streaming
- Raw API
Examples
Each command documentation includes practical examples of usage.
Getting Help
You can get help on any command by running:
esp-rainmaker-cli <command> --help
For the full list of available commands:
esp-rainmaker-cli --help