All major changes to ESP RainMaker CLI will be documented in this file.
--ble_adapteroption for theprovisioncommand to select the HCI adapter used for BLE transport (default:hci0). Useful withvhci_bridgefor emulated devices, e.g.--ble_adapter hci1. Linux/BlueZ only.
- Security 2 fixes across provisioning and local control:
- Provisioning auto-detect now reads
prov.sec_verfrom device capabilities (was forcing sec1 on sec2 devices, causing firmware "Security version mismatch") sec_patch_verdiscovered from device capabilities /esp_local_ctrl/version, enabling the counter-in-IV scheme on ESP-IDF v5.4+ firmware--sec2_usernameoption added to--localcommands (getnodeconfig,getparams,setparams); defaults towifiprov, picks up cachedlocal_control_usernamefrom cloud params;--popused as the SRP6a password- QR code
username/passwordfields now honoured byprovision Security2.serialize/deserializefor local-control session resume parity with Security 1
- Provisioning auto-detect now reads
- New
group sharingsubcommand for sharing device groups / Matter fabrics between users:add,remove,list,list-requests,accept,decline,canceloperations- Supports primary/secondary roles, sub-roles (1-4), metadata, and ownership transfer (
--transfer,--new-role) - Parsed, human-readable output by default; pass
--rawon any operation to get the underlying JSON response
- Node sharing enhancements:
- Support for sharing as "primary"
- Transferring nodes
- Adding sub-roles
- New
streamcommand for WebRTC video streaming from ESP RainMaker camera devices via Amazon Kinesis Video Streams (KVS) signaling:- Live video display with optional recording to file (
--output/-o) - Duration-limited streaming (
--duration) - Parallel ICE server fetch and WebSocket connection for faster stream setup
- Graceful handling of device disconnects, reboots, and frame timeouts
- Suppression of macOS FFmpeg duplicate library warnings during import
- Live video display with optional recording to file (
- Local node cache layer for faster
--localcontrol operations:- Caches node details, config, POP, and local control capability per profile/user
- Disk-based session reuse to skip X25519 handshake on repeated commands
- Auto-POP resolution from cache, eliminating need for prior cloud
getparamscall - Empirical capability discovery (probes sec0 first, then sec1, caches result)
- Cache disabled by default; enable via
cache enableorprofile add --cache
- New
cacheCLI command group:enable,disable,show,clear --no-cacheflag ongetparams,setparams,getnodeconfigfor one-shot cache bypassRM_NODE_CACHEandRM_NODE_CACHE_DIRenvironment variables for automation control
- Add support for ecdsa in claiming and make it as default, with an option to fall back to the earlier rsa scheme.
- Add support for Tags and Metadata during provisioning and also after mapping a user. Check
provisionandnodecommands
- BLE local control support for
getparams,setparams, andgetnodeconfigcommands during provisioning phase:--local-rawoption to use custom provisioning endpoints for direct parameter/config access over BLE--device-nameoption to specify the device name for BLE discovery- Fragmented transfer support for
getnodeconfigto handle BLE MTU limits
--proxy-reportoption for proxy reporting to cloud backend (if the node is already mapped to the user):- Sends timestamp to node and receives signed response (parameters/config + timestamp + signature)
- Reports to cloud on behalf of the node
- The IPv6 address is not supported for on-network challenge-response.
- Support for on-network user-node mapping via the "provision" command for scenarios wherein the RainMaker node is already connected to the network via some mechanism independent of RainMaker provisioning.
- An option --no-wifi to 'provision' command to allow challenge-response based user-node mapping without Wi-Fi provisioning.
- A new command
raw-apiwhich will allow invoking any user API supported by ESP RainMaker.
- The reset provisioning command sent for retrying on failure did not have complete command data.
- An option --no-retry for provisioning, to avoid user-interactive prompts asking to retry in case of failures
- Retry support for WiFi provisioning - allows users to retry provisioning on failure, resets device state machine using prov-ctrl endpoint, and sends new credentials on the same secure session
- Support for passing QR code payload to provisioning command
- BLE Transport support for provisioning
- Challenge-response based user-node mapping
- Local control over HTTP
- Security v2 for provisioning and local control
- Support for camera device type in claiming
- Support for changing logs path
- Support for passing access token externally
- New
deleteusercommand for permanent account deletion with two-step verification
- login command was not displaying currently logged-in user when session exists
- login, signup, forgotpassword commands were giving deprecation warning for pkg_resources
requirement: bump esp-idf-nvs-partition-gen to v0.1.9
claimcommand was failing
- Group management support with the following subcommands:
add: Create a new group with optional description, type, and parent groupremove: Delete an existing groupedit: Modify group properties including name, description, and parentlist: Display all available groupsshow: View detailed information about a specific groupadd-nodes: Add one or more nodes to a groupremove-nodes: Remove nodes from a grouplist-nodes: View nodes in a group with optional detailed info and sub-groups
- Support for setting parameters and schedules for multiple nodes in a single command
- New module
rmaker_lib/schedule_utils.pyfor schedule formatting and parsing
- Multi-profile support for managing multiple ESP RainMaker deployments
- New
profilecommand with subcommands:list: Show all configured profilescurrent: Display active profileswitch: Change to a different profileadd: Configure a new profileremove: Delete an existing profile
- Global
--profileoption available with all commands to specify which profile to use
- New
getnodedetailscommand for formatted node information with raw data option - Support for schedule management with
get/setschedulecommands - Comprehensive documentation for all supported features