ESP RAINMAKER

ESP RAINMAKER

  • Smart Home
  • Docs
  • API
  • Help
  • Blog
  • GitHub

›Specifications

Get Started

  • Get Started

Develop Firmware

  • Basics
  • Standard Types

Specifications

  • Concepts
  • Node - Cloud communication
  • Client - Cloud communication
  • User - Node Mapping
  • Claiming
  • User Roles

Services

  • OTA FW Upgrades
  • Time Service
  • Scheduling
  • Local Control Service
  • Scenes
  • System Service

CLI

  • Setup
  • Usage

3rd Party Integrations

  • 3rd Party Integrations

Other Features

  • Node Sharing
  • Local Control
  • ESP Insights (Beta)

What's Next?

  • What's Next?

Documentation Feedback

  • Documentation Feedback

User - Node Mapping

Before the devices under a node can be monitored and controlled remotely, the node should be first mapped to a user so that only that specific user can have permissions to access it. The workflow is driven from a client like the Phone app or RainMaker CLI.

The below sequence diagram will help to understand the steps.

User-Node-Mapping

Here are the steps

  1. During Wi-Fi provisioning, the client sends the User Id and a randomly generated secret key to the ESP32. It gets back the Node Id in return.

  2. The client sends the node id and secret key to the RainMaker Cloud over a secure, logged-in session. User Id is not sent as it is extracted by the Cloud from the session information. It gets back a request id in return.

  3. The ESP32 sends the Node Id, User Id and Secret Key to the RainMaker Cloud over secure MQTT.

    Steps 2 and 3 can occur even in reverse order, without affecting the workflow.

  1. The client keeps checking the status of the request based on the request id. Following are the possible responses
    1. Confirmed: If the RainMaker Cloud gets the same information from both, the client and the ESP32 and considers it as a successful mapping.
    2. Timed Out: If 1 minute has passed since the request was made, but no matching information was received from the other end.
    3. Requested: Mapping is still in progress. Keep checking.

Please check the specifications for details on the node side communication details. Check the Cloud API documentation for client side communication details.

← Client - Cloud communicationClaiming →
Copyright © 2022 Espressif SystemsPrivacy PolicyTerms of UseCookie Policy