Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Hôtes, flux racine et racines de profil

Les hôtes IoT et General, comment chaque message d'appareil atteint un seul flux racine, la racine par défaut, les racines de profil et les points à vérifier lorsque rien n'est stocké.

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

IoTGeneral
Types de messagestelemetry, attributes, connect, disconnect, activity, inactivity, rpc_request, rpc_response, attributes_updated, alarm ; ainsi que les planifications, injections, webhooks, minuteries et événementsPlanifications, injections, webhooks, minuteries, événements et messages provenant d’autres flux
Flux racinesOui : la racine à l’échelle du locataire et les racines de profilNon
Blocs d’appareilMessage 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 mensuelLes messages d’appareil comptent comme messages IoTLes 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 :

RacineS’exécute pourObligatoire
Racine à l’échelle du locataireChaque appareil dont le profil n’a pas de racine propreOui : il y en a toujours une. Elle peut être remplacée, jamais supprimée.
Racine de profilLes appareils d’un profil d’appareilNon

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.

  1. 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.
  2. Ajoutez vos étapes. Gardez Règles d’alarme, Enregistrer la télémétrie et Enregistrer les attributs client.
  3. Déployez-le activé. « Seul un flux en cours d’exécution peut y être une racine. »
  4. Dans la liste des flux, ouvrez les Détails du flux et sélectionnez Définir comme racine.
  5. 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 :

VoieComment
Depuis une racineExécuter le flux (transmet le message) ou Lien sortant / Appel de lien
Changements d’alarme et mises à jour d’attributsUn 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 commandesLes 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énementsDé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 :

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.