User account

Un compte utilisateur est nécéssaire pour pouvoir :

  • synchroniser et sauvegarder les données de son logement sur le Cloud (IoTHub),

  • partager son logement avec un autre utilisateur,

  • piloter ses produits à distance depuis l’Application mobile.

Un compteur utilisateur peut être de type :

  • administrateur, permettant l’accés à l’IoTHub pour la gestion complet de l’éco-système (administrations des utilisateurs, ajout de Firmware, déclenchement de mise à jour,…),

  • installateur, permettant l’accès à l’IoTHub de façon restreinte (administration et visibilité sur les logements installés) et à l’application mobile,

  • utilisateur “simple”, n’ayant accès qu’à l’application mobile pour la gestion du/de ses logements,

📋 Requirement: Un compte est composé de :

  • un identifiant (une adresse mail)

  • un mot de passe

  • des informations générales (Prénom, Nom, Téléphone)

📋 Requirement: Le mot de passe respecte les critères suivants :

  • au moins 8 caractères,

  • au moins une lettre majuscule,

  • au moins une lettre minuscule,

  • au moins un chiffre,

  • au moins un caractère spécial.

📋 Requirement: Un utilisateur peut accéder à son logement et le piloter en Bluetooth Mesh (« local ») même sans connexion internet, à condition d’être connecté à son compte.

Creating a user account

La création de compte se fait uniquement par l’application mobile pour un utilisateur ou installateur. Voir ref-app-ui-account.

Le choix du rôle se fait lors de la création.

📋 Requirement: La création du compte est indépendante de la création du logement : les deux opérations peuvent être effectuées dans l’ordre que l’on veut.

Login and logout

L’utilisateur se connecte à son compte depuis le menu « Compte » de l’App. Il reste connecté pendant toute la durée de vie de l’App installée.

La déconnexion intervient dans les cas suivants :

  • déconnexion manuelle depuis le menu « Compte »,

  • effacement des données de l’App depuis le menu « Paramètres généraux »,

  • désinstallation de l’App.

Changing password and email address

Depuis l’application, l’utilisateur peut changer le mot de passe et l’adresse mail associés à son compte. Le nouveau mot de passe respecte les mêmes critères qu’à la création du compte.

Deleting an account

Un utilisateur peut supprimer son compte via l’application mobile. Toutes les données le concernant seront effacées de l’IoTHub.

Lorsqu’un utilisateur supprime son compte depuis l’App, il :

  • se révoque de tous ses logements,

  • supprime les données locales en lien avec chaque logement pour lesquels il est révoqué,

  • appelle la route de suppression utilisateur de l’IoTHub (suppression des données en lien avec ce compte excepté les invitations afin de conservé le champ “invité par X”),

  • se déconnecte de son compte,

  • retourne à la page de connexion.

Un administrateur peut également supprimer un compte utilisateur depuis l’IoTHub.

📋 Requirement: on the IoTHub, the authentication account is deleted.

📋 Requirement: on the IoTHub, the person’s data is deleted from the database.

Deleting a home

La suppression d’un logement s’effectue depuis le menu « Logements » de l’App, selon trois cas :

  • Pour tous les utilisateurs — le logement est supprimé du stockage local de l’utilisateur, et supprimé côté IoTHub pour tous les utilisateurs.

  • Seulement pour moi — le logement est supprimé du stockage local de l’utilisateur, et son association au logement est retirée côté IoTHub ; le logement subsiste pour les autres utilisateurs.

  • Depuis l’IoTHub — l’App se met à jour à la synchronisation suivante, de façon à traiter la suppression sans générer d’erreur.

Data synchronization

With a user account, the data of their home is saved on the IoTHub and synchronized with the application.

Synchronization starts, if internet access is available, on the following events.

It also starts:

  • when a home is deleted,

  • every 24 hours,

  • before a product update (DFU).

📋 Requirement: a change to the home made from one App — product added or removed, room, feature name, binding, scenario — is visible from any other App with access to the home, once both Apps are synchronized.

📋 Requirement: a product removed from the home is not brought back by a later synchronization, including from another App with access to the home.

📋 Requirement: an installed product is present in the home after the synchronization that follows its installation, whatever the IoTHub response time.

Sharing homes between users

Un utilisateur peut partager son logement avec un autre utilisateur depuis son application mobile.

Owner and tenant roles

Les utilisateurs ou les installateurs peuvent avoir 2 rôles distincts dans un logement :

  • propriétaire, il a accès à toutes les fonctions de paramétrage, d’ajout,… sur son/ses logements. C’est le rôle par défaut

  • locataire, il a accès uniquement au contrôle des équipements.

Pour passer d’un rôle à un autre, il suffit d’inviter un utilisateur dans le logement avec le rôle associé ou le révoquer.

Invitation

L’invitation est un mécanisme qui permet à un propriétaire de partager son logement, soit en tant que propriétaire également, soit en tant que locataire (voir App menu ajout d’un utilisateur) à un autre utilisateur disposant d’un compte.

L’utilisateur invité reçoit un mail l’enjoignant à rejoindre le nouveau logement sur son App.

Revoking a user

Un propriétaire peut révoquer un autre propriétaire (mais pas lui-même) ou un locataire (voir App menu révocation d’un utilisateur).

Un utilisateur révoqué reçoit une notification sur son App et perd l’accès au logement révoqué, dans la mesure où son App a accès à internet.

Un administrateur IoTHub peut changer le rôle et révoquer un utilisateur.

📋 Requirement: a revocation made while the revoked user’s App is offline takes effect at its next synchronization: the user then loses access to the home.

Account sharing

Un même logement peut être piloté (ou configuré selon ses droits) par plusieurs App utilisant le même compte utilisateur.

Exemple : User1 partage son logement Realm1 avec User2. User1 pilote Realm1 depuis App1 et App2 — c’est le partage de compte ; depuis App2 il peut aussi basculer sur Realm2, par sélection du logement dans son compte. User2, lui, n’accède qu’à Realm1 depuis App3.