Un hôte est la partie de Hermetry qui exécute des flux d’un même type. L’hôte IoT exécute les flux qui reçoivent les messages des appareils ; l’hôte General exécute les flux pour les planifications, les webhooks et les événements. Sur l’hôte IoT, chaque message d’appareil est envoyé à exactement un flux racine, qui stocke les données. Cette page explique les hôtes, les flux racines et comment les modifier en toute sécurité.
Les deux hôtes
| IoT | General | |
|---|---|---|
| Types de messages | telemetry, attributes, connect, disconnect, activity, inactivity, rpc_request, rpc_response, attributes_updated, alarm ; ainsi que les planifications, injections, webhooks, minuteries et événements | Planifications, injections, webhooks, minuteries, événements et messages provenant d’autres flux |
| Flux racines | Oui : la racine à l’échelle du locataire et les racines de profil | Non |
| Blocs d’appareil | Message d’appareil, Enregistrer la télémétrie, Enregistrer les attributs, Règles d’alarme, Envoyer une commande, Déclencher une alarme, blocs d’enrichissement … | Non |
| Nombre mensuel | Les messages d’appareil comptent comme messages IoT | Les entrées acceptées comptent comme messages Automation |
Vous choisissez l’hôte lors de la création d’un flux ; il ne peut pas être modifié ensuite. Le filtre Hôte de la liste des flux affiche les flux d’un seul hôte.
Flux racines
Un flux racine est le point d’entrée des messages d’appareil d’un hôte. Sur l’hôte IoT, il en existe deux types :
| Racine | S’exécute pour | Obligatoire |
|---|---|---|
| Racine à l’échelle du locataire | Chaque appareil dont le profil n’a pas de racine propre | Oui : il y en a toujours une. Elle peut être remplacée, jamais supprimée. |
| Racine de profil | Les appareils d’un profil d’appareil | Non |
Chaque message d’appareil démarre une racine : celle de son profil si elle existe, sinon la racine à l’échelle du locataire. Il entre par le bloc Entrée du flux de la racine (nommé Messages d’appareil dans la racine par défaut). La télémétrie arrive à raison d’un message par enregistrement : un appareil qui envoie un lot de 10 enregistrements horodatés démarre 10 messages.
Les flux racines affichent un badge Racine dans la liste des flux, avec ce qu’ils exécutent (« Racine · Locataire », ou le nom du profil).
Le flux racine par défaut
Chaque organisation démarre avec le Flux racine par défaut, lié à l’échelle du locataire. Il est créé et déployé automatiquement :
Device messages (Flow input)
→ Alarm rules
→ Message type (Switch on msg.metadata.msgType)
telemetry → Save telemetry
attributes → Save client attributes
rpc_request → System log "RPC request from …"
otherwise → System log "Other device message"
Errors (Catch, uncaught only) → System log
« Chaque message d’appareil du périmètre de cette racine entre par son Entrée du flux : les règles d’alarme du profil d’appareil sont évaluées, la télémétrie et les attributs client sont enregistrés, les requêtes RPC des appareils et les autres messages sont journalisés. Si vous supprimez un nœud d’enregistrement, ces données ne sont plus stockées. »
Vous pouvez le modifier comme n’importe quel flux : ajouter des valeurs dérivées, du transfert ou des filtres. Gardez Règles d’alarme, Enregistrer la télémétrie et Enregistrer les attributs client sur leurs chemins, sinon ce travail s’arrête pour chaque appareil servi par la racine.
Créer une racine de profil
Utilisez une racine de profil lorsqu’un groupe d’appareils nécessite un traitement différent, par exemple un décodeur pour un profil qui envoie des données binaires, ou des étapes supplémentaires pour une gamme de produits.
- Créez un flux sur l’hôte IoT, idéalement à partir du modèle Flux racine par défaut pour que le chemin de stockage soit présent dès le départ.
- Ajoutez vos étapes. Gardez Règles d’alarme, Enregistrer la télémétrie et Enregistrer les attributs client.
- Déployez-le activé. « Seul un flux en cours d’exécution peut y être une racine. »
- Dans la liste des flux, ouvrez les Détails du flux et sélectionnez Définir comme racine.
- Sous Exécuter pour, choisissez le profil d’appareil et confirmez avec Définir comme racine.
Si le profil a déjà une racine, la boîte de dialogue indique « Il remplace flux, qui s’exécute ici actuellement. » et vous demande de saisir le nom du flux remplacé.
Une racine n’est jamais exécutée par un autre flux. Définir un flux comme racine supprime les blocs Exécuter le flux qui l’exécutent depuis d’autres flux ; chacun de ces flux reçoit une nouvelle version, et la boîte de dialogue les liste d’abord.
Détacher ou supprimer une racine
- Détachez une racine de profil depuis ses Détails : saisissez le nom du flux pour confirmer. Les appareils du profil passent alors à la racine à l’échelle du locataire.
- La suppression d’un flux racine demande la même confirmation, avec Détacher et supprimer.
- La racine à l’échelle du locataire ne peut pas être détachée ni supprimée. Pour la retirer, définissez d’abord un autre flux en cours d’exécution comme racine du locataire ; l’ancienne pourra alors être supprimée.
- Une racine doit rester activée et en cours d’exécution. Seul l’arrêt d’urgence met en pause une racine ; la pause automatique ne le fait jamais. Voir Protections et messages en échec.
Flux qui ne sont pas des racines
Un flux qui n’est pas une racine n’entend pas les messages d’appareil ordinaires. Il est atteint de ces façons :
| Voie | Comment |
|---|---|
| Depuis une racine | Exécuter le flux (transmet le message) ou Lien sortant / Appel de lien |
| Changements d’alarme et mises à jour d’attributs | Un déclencheur Message d’appareil avec le type alarm ou attributes_updated coché par nom : ils vont à chaque flux à l’écoute, racine ou non |
| Résultats des commandes | Les messages rpc_response sont des messages d’appareil : ils atteignent la racine de l’appareil. Transmettez-les ensuite depuis cette racine avec Exécuter le flux. |
| Temps, webhooks, événements | Déclencheurs Planification, Injection, Webhook, Événement, Minuterie nommée |
Un message transmis avec Exécuter le flux conserve son appareil, donc des blocs comme Enregistrer la télémétrie fonctionnent toujours à cet endroit.
Ordre des messages
Les messages d’un même appareil s’exécutent les uns après les autres, dans l’ordre de leur arrivée, jusqu’au premier appel externe (une requête HTTP, un courriel, une attente ou un Détachement). Au-delà de ce point, leur ordre n’est pas garanti. Les messages de différents appareils s’exécutent en parallèle.
Messages tardifs
Un message d’appareil resté en attente plus longtemps que sa durée de vie (5 minutes par défaut, après une panne) s’exécute tout de même dans sa racine et est stocké, marqué comme tardif. Les blocs qui agissent hors de la plateforme l’ignorent. Les autres flux à l’écoute le rejettent. Voir Horodatages, mesures tardives et en double.
En ligne, mais rien n’est stocké
Un appareil peut apparaître en ligne (sa connexion est suivie par la plateforme) alors que ses mesures ne sont pas stockées. Vérifiez :
- Existe-t-il une racine en cours d’exécution ? Dans Automation, filtrez par l’hôte IoT. Un flux racine doit être En cours d’exécution. Une bannière « Aucun worker n’exécute actuellement l’hôte IoT… » signifie que le traitement de la plateforme est en panne ; contactez le support.
- L’arrêt d’urgence est-il activé ? Une bannière « Arrêt d’urgence : n flux sont en pause… » signifie que rien ne s’exécute tant que vous ne reprenez pas.
- Le profil de l’appareil a-t-il sa propre racine ? Sa racine, et non celle du locataire, traite l’appareil. Vérifiez son bloc Enregistrer la télémétrie.
- Le message atteint-il Enregistrer la télémétrie ? Ouvrez le panneau Activité de la racine : les onglets Débogage et Erreurs, ainsi que les compteurs de messages sur les liaisons.
- Enregistrer la télémétrie signale-t-il des erreurs ?
not_a_device,too_old,no_values,key_limit: voir Blocs de données IoT. - L’automatisation IoT est-elle disponible pour votre organisation ? Sans elle, aucune donnée d’appareil n’est stockée. Contactez le support.
Voir aussi Les données n’arrivent pas.

