L’arbre des actifs indique ce qui est contenu dans quoi. Les relations en disent davantage : quel automate pilote une pompe, quelle pompe alimente un réservoir, quelle caméra surveille une porte. Une relation relie deux extrémités, chacune étant un actif ou un appareil, avec un type et un sens.
Types de relations
| Type | Se lit | Exemple |
|---|---|---|
| Contains | d’un actif vers un appareil | Room 1 contient Sensor 4. C’est l’emplacement de l’appareil. |
| Manages | A gère B | Un automate gère une pompe |
| Feeds | A alimente B | Pump 2 feeds Tank 1 ; un onduleur alimente un site |
| Monitors | A surveille B | Une caméra surveille une porte |
| Vos propres types | selon votre définition | BACKS_UP, SERVES, METERS |
Vos types personnalisés comptent de 1 à 32 caractères : une lettre en premier, puis des lettres, des chiffres et _. Ils sont enregistrés en majuscules.
Règles :
- Une relation va dans un seul sens : d’une extrémité vers l’autre. « Pump 2 feeds Tank 1 » n’est pas la même chose que « Tank 1 feeds Pump 2 ».
- Les deux extrémités doivent être différentes : « Une relation nécessite deux extrémités différentes. »
- Une même relation (mêmes extrémités, même type) n’existe qu’une seule fois : « Cette relation existe déjà. »
- Contains ne concerne qu’un actif vers un appareil, et c’est l’emplacement de l’appareil : un seul par appareil. Définissez-le avec l’emplacement, pas comme une relation. Voir Placer des appareils.
- Un actif contenu dans un autre actif n’est jamais une relation : déplacez l’actif à la place (« Un actif contenu dans un autre actif se définit en le déplaçant, et non par une relation CONTAINS. »).
- Une relation peut porter jusqu’à 20 clés (4 KiB) d’informations supplémentaires, par exemple un diamètre de canalisation.
Voir les relations
Ouvrez un actif dans Sites & Assets. La section Relations du panneau liste les relations vers et depuis l’actif :
| Colonne | Affiche |
|---|---|
| Relation | Le type |
| From | La première extrémité, Asset ou Device, avec son nom |
| To | L’autre extrémité |
Utilisez Search relations pour en trouver une et Remove relation pour la supprimer (il faut Manage relations and device placement). « No relations. » signifie qu’il n’y en a aucune.
Créer des relations
Les relations autres que les emplacements se créent par l’API :
POST /tenant/<tenantId>/api/iot/relations
{ "fromType": "DEVICE", "fromId": "<pump id>", "toType": "DEVICE", "toId": "<tank id>", "type": "FEEDS" }
Les extrémités sont ASSET ou DEVICE. Listez-les avec GET /api/iot/relations?entityType=DEVICE&entityId=<id> (dans les deux sens) et supprimez-les avec DELETE /api/iot/relations/<relationId>. Voir API des sites et actifs. Certaines solutions prêtes à l’emploi créent leurs relations à l’installation, par exemple un onduleur qui alimente un site distant.
La suppression d’un actif met fin à ses relations. Un appareil est différent : un appareil placé ou ayant une relation ne peut pas être supprimé (« The device is still in use by 1 asset placement or relation (iot_asset). »). Supprimez d’abord son emplacement et ses relations.
Utiliser les relations dans les tableaux de bord
Un paramètre de tableau de bord peut choisir ses entités Related to another parameter or entity : par exemple « les appareils qu’un automate gère », ou « chaque appareil sous ce site » via Contains. Vous choisissez le type de relation, le sens et le nombre de niveaux à parcourir (1 à 10). Voir Sources de données et paramètres.
Le modèle Sites l’utilise pour proposer les appareils d’un site dans son sélecteur Device : il suit Contains depuis le site vers le bas, jusqu’à 10 niveaux.
Utiliser les relations dans les flux
Le bloc Related data ajoute à un message les données d’actifs et d’appareils liés :
| Réglage | Signification |
|---|---|
| direction | from l’appareil du message (ce qu’il gère, ses enfants) ou to celui-ci (ses parents, qui le gère) |
| types de relation | par défaut Contains ; un type quelconque, ou aucun pour tous |
| profondeur | 1 à 8 niveaux |
| type d’entité, genres, profils | ne garder que les actifs, que les appareils, certains genres d’actifs, ou certains profils d’appareils |
| données | attributs, dernières valeurs (appareils) ou champs (nom, genre, code, …) |
Dans les flux, l’arbre des actifs compte comme des relations Contains de chaque parent vers ses enfants, et un emplacement est une relation Contains de l’actif vers l’appareil. Ainsi to, Contains, 3 niveaux, dernier niveau uniquement, genre SITE trouve le site d’un appareil trois niveaux plus haut. Voir Blocs de données IoT.
Exemples
| Objectif | Relations |
|---|---|
| Afficher les pompes d’un réservoir sur la page du réservoir | Pompe Feeds Réservoir ; un paramètre « lié au réservoir, sens to, type Feeds » |
| Ajouter le tarif du site à chaque relevé de compteur | Compteurs placés sous le site ; attribut de site tariff ; Related data vers le site |
| Savoir quelle caméra surveille un capteur de porte | Caméra Monitors capteur de porte |
| Un automate et ses capteurs | Automate Manages chaque capteur |

