User Account¶
A user account is necessary to be able to:
synchronize and backup home data on the Cloud (IoTHub),
share your home with another user,
control your products remotely from the Mobile Application.
A user account can be of type:
administrator, allowing access to the IoTHub for complete ecosystem management (user administration, firmware addition, update triggering, etc.),
installer, allowing restricted access to the IoTHub (administration and visibility of installed homes) and to the mobile application,
“simple” user, with access only to the mobile application for managing their home(s),
Requirement: can an administrator use the app as a user account?
Requirement: An account consists of:
an identifier (an email address)
a password
general information (First name, Last name, Phone)
Requirement: An App can support multiple accounts (what is the max?).
Requirement: creation of multiple homes without an account?
Requirement: how many homes supported by the app?
- Related products:
ref-model-ERLIO
ref-model-REF12.1
ref-model-REF12.2
ref-model-GEMAX
ref-model-ERLMAX
ref-model-CEVMAX
User Account Creation¶
Account creation is only done through the mobile application for a user or installer. See ref-app-ui-account.
Role selection is done during creation.
Account Deletion¶
A user can delete their account via the mobile application. All data concerning them will be erased from the IoTHub.
When a user deletes their account from the App, they:
revoke themselves from all their homes,
delete local data related to each home for which they are revoked,
call the backend user deletion route (deletion of data related to this account except invitations to preserve the “invited by X” field),
log out of their account,
return to the login page.
An administrator can also delete a user account from the IoTHub.
Requirement: on the backend, deletion of the authentication account
Requirement: on the backend, deletion of the person’s data in the database
Data Synchronization¶
With a user account, home data is saved on the IoTHub and synchronized with the application.
Synchronization starts:
when opening the App,
when connecting to an account,
when changing account,
when inviting and revoking a user?
when creating a home,
when deleting a home,
every 24 hours,
when clicking on the cloud → “synchronize now” button,
when installing a product (Provisioning and configuration),
when deleting a product (Deprovisioning),
when changing a feature name,
when changing a feature configuration,
when modifying a room,
when changing bindings between features,
before and after updating a product (DFU).
Home Sharing Between Users¶
A user can share their home with another user from their mobile application.
Owner and Tenant Roles¶
Users or installers can have 2 distinct roles in a home:
owner, they have access to all configuration, addition, etc. functions for their home(s). This is the default role
tenant, they only have access to equipment control.
To switch from one role to another, simply invite a user to the home with the associated role or revoke them.
Requirement: Does owner1 have a different role? can they be revoked and exchanged to tenant by another owner?
Invitation¶
Invitation is a mechanism that allows an owner to share their home, either as an owner as well, or as a tenant (see App menu add user) to another user with an account.
The invited user receives an email prompting them to join the new home on their App.
User Revocation¶
An owner can revoke another owner (but not themselves) or a tenant (see App menu user revocation).
A revoked user receives a notification on their App and loses access to the revoked home.
An IoTHub administrator can change the role and revoke a user.
Account Sharing¶
The same home can be controlled (or configured according to permissions) by multiple Apps using the same user account.