This directory contains detailed documentation and examples for the ESP RainMaker CLI tool.
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.
pip install esp-rainmaker-cli# 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
deactivateThe CLI supports the following main commands:
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
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
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
getparams- Get node parameterssetparams- Set node parameters
getschedules- Get schedule information for a specific nodesetschedule- Manage schedules for a specific node (add/edit/remove/enable/disable)
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 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
create_cmd_request- Create a command response request for nodesget_cmd_requests- Get command response requests details
claim- Claim the node connected to a serial port (get cloud credentials)provision- Provision the node to join Wi-Fi network
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)
stream <nodeid>- Stream video from a camera device via WebRTC (KVS signaling)
getmqtthost- Get the MQTT Host URL to be used in the firmwareraw-api- Make authenticated raw API calls to RainMaker backend for testing/debugging
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
Each command documentation includes practical examples of usage.
You can get help on any command by running:
esp-rainmaker-cli <command> --helpFor the full list of available commands:
esp-rainmaker-cli --help