The initially existing connection via Bluetooth Low Energy (BLE) wouldn’t match for the complete use and setup of the gateway, since BLE is mainly intended to transmit small amounts of data and not to maintain a permanent connection.
BLE is used for applications that do not need to exchange large amounts of data
Therefore, the gateway must now be connected to the user’s home network. For this purpose, the gateway performs a scan of the surrounding Wi-Fi networks, which are displayed in a list. This should be based on the design of the operating system on the user’s smartphone so that he or she can operate the view as intuitively as possible.
There, the user selects the home network with which the gateway should be connected. The password of the Wi-Fi network must then be transferred to the gateway. The user must enter the password in the app.
If the installer takes over the setup of the gateway, the subsequent user of the application should enter the Wi-Fi password in the app himself at this step so that the password does not have to be communicated to the installer.
The password is sent to the gateway via the BLE connection and the gateway can connect to the home network. In the positive case, the gateway is now connected to the user’s home network, the BLE connection can be disconnected without user interaction and the IoT onboarding is thus completed.
Of course, a wide variety of errors can occur at any point, not only when typing in the password wrong. At that point, it’s particularly important to explain clearly what the users can do to solve the error. The gateway cannot always tell the app what exactly caused the error. In most cases, error screens from IoT onboarding therefore contain a list of frequently occurring, generic error cases. This includes, for example, entering an incorrect Wi-Fi password, interrupting the connection or automatically switching off the pairing mode. The user should be briefly and concisely explained what he or she can do in this case and if they don’t get ahead on their own they should be able to call up a help page or contact support.