Node Sharing (Preview)
ESP RainMaker allows a user to control a node remotely over the Internet. However, there is often a need to allow others to use the same node. It could be something like giving control of lightbulbs to members of your family, or temporarily giving access to a door lock to your tenant or a maid, or something like a shared hardware resource being accessed remotely by multiple employees. To serve such use cases, ESP RainMaker offers an ability of sharing a node with others.
User Roles
Node sharing has introduced a concept of "User Role". There can be two types of User roles for any given node.
- Primary User: A user who has added a node by provisioning it from the phone app will be the primary user for a node. A primary user can add/remove other users. If the primary user's association with the node is removed, all secondary users will also be automatically removed.
- Secondary User: Any user added by a primary user will be a secondary user for the given node. A secondary user cannot add/remove other users, however, it can access the node configuration and node parameters in the same way as the primary user.
Using Node Sharing
Node sharing is currently supported only in the RainMaker CLI, not the phone apps. If you haven't already set up the CLI, please follow the steps here. Once installed, log into your account using the login command. Thereafer, use the sharing command to add/remove/list sharing. The CLI help should be self-explanatory.
~# python rainmaker.py sharing -h
usage: rainmaker.py sharing [-h] {list,add,remove} ...
positional arguments:
{list,add,remove}
list List shared nodes details for current (logged in) user
add Add nodes for sharing with a particular user
remove Remove nodes shared with a particular user
optional arguments:
-h, --help show this help message and exit
Once a node is shared, it can be used directly from the secondary user's phone app.
For Users using Sign-Up with Apple
If you have Signed Up using Apple and have chosen the "Hide My Email" option, please check the auto-generated email address under your profile in the iOS app, or by using the python rainmaker.py getuserinfo
CLI command. This email address will be of the form <unique-alphanumeric-string>@privaterelay.appleid.com
. Use this email address in the node sharing add/remove commands.