Features
User Management
Sign Up
Supports following methods
- Email id + Password using an OTP based email id verification.
- Phone number + Password using an OTP based phone number verification.
- Sign Up using Google.
- Sign Up using Apple.
- Sign Up using Amazon (not available on public RainMaker or in Phone Apps).
Note: Sign up using Google/Amazon shares the user's email address with RainMaker. Sign up using Apple shares a dummy address that Apple assigns for the user specifically for the RainMaker service.
Sign In
- Email id + Password
- Phone number + Password
- Phone number + OTP
- Sign in using Google
- Sign in using Apple
- Sign in using Amazon (not available on public RainMaker or in Phone Apps).
Note: Sign in using Google/Apple/Amazon for new users is same as Sign Up and the cloud treats both of them as the same.
Change Password
- Valid only for Email id/Phone number based logins. Uses OTP based confirmation along with the old password.
- Logs out all other active sessions after password is changed.
Note: The logged out sessions can still stay active upto 1hr as per AWS Cognito behaviour.
Forgot Password
- Valid only for Email id/Phone number based logins. Uses OTP based confirmation.
Delete account
- Option to delete account with OTP based verification.
End User features
Remote Control and Monitoring
- Query node configuration, parameter values and connectivity status for one or all nodes in a single call.
- Set parameters for single as well as multiple nodes in a single API call.
Note: Querying the parameter values again is required to ensure that the changes have taken effect on the node.
Local Control and Monitoring
- Mobile phone and device need to be on some network for local control
- Discovery is done over mDNS
- Control and Monitoring done over plaintext HTTP. Secure communication coming soon.
Scheduling
- Automatic actions based on time.
- One time or repeat (by specifying days).
- Single or multiple nodes.
- No Internet connectivity required for the node while executing the schedule at specified time.
Grouping
- Multi level abstract grouping supported.
- Group metadata can be used to create a Home - Room structure.
- Group operations supported indirectly via the APIs that support sending data to multiple nodes.
Node Sharing
- One or more nodes can be shared with one or more users.
- New user can be either a primary user (full access) or secondary user (limited access i.e. cannot add/remove other users).
- Entire groups can also be shared with primary/secondary permissions.
- Any new node added to a shared group will get automatically shared (useful for Home sharing use cases).
Mobile push notifications
Following events are notified
- New node(s) added
- Node(s) removed
- Node connected to cloud
- Node disconnected from cloud
- Node sharing request created
- Node sharing request accepted/declined
- Node reported some alert message
Third Party Integrations
Alexa and Google Voice Assistant supported for following categories
- Lights
- Switches
- Outlets/Sockets
- Fan
- Temperature sensor
Admin Features
Node registration
- Create certificates and register them using python CLI
Grouping
- Create abstract groups of nodes or structured groups based on firmware version, type or model
Over the Air (OTA) firmware upgrades
- Upload Firmware Binary and let cloud service auto extract firmware version and model
- Push OTA Upgrades to one or more nodes or a group
- Monitor status of OTA Jobs
- Cancel OTA Jobs
- Archive cancelled/completed OTA Jobs
- Firmware side checks to prevent wrong project/version binary being sent
OTA Upgrade strategies
- Force push: OTA Image URL immediately sent to all nodes. Node need to be online to get the URL. Else, the strategy for Normal OTA would be used.
- Normal: URL sent to node only if node queries for it. Nodes can query either during boot up or at regular periodic intervals as per the configuration selected in firmware.
- User controlled: Once OTA is trigger, end user can query and decide when to start the OTA
Statistics
- Node registrations (certificates registered by the admin)
- Node activations (i.e. node connecting for the first time)
- User account creations
- User-node association count
ESP Insights (add on product)
- Errors, warnings and custom logs
- Crash reports and analysis
- Reboot reasons
- Metrics like memory usage, RSSI, etc.
- Custom metrics and variables can be reported