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

Les données n’arrivent pas

Découvrez pourquoi les relevés d'un appareil connecté ne sont pas stockés ou pourquoi certaines clés manquent : flux racines, forme de la charge utile, règles relatives aux clés, limites de débit, quarantaine et quotas.

Cette page vous aide lorsqu’un appareil est connecté (ou sa passerelle l’est) mais que ses mesures n’apparaissent pas dans son onglet Telemetry, ou seulement certaines d’entre elles. Si l’appareil ne se connecte pas du tout, commencez par A device does not connect.

Comment une mesure est stockée

Device → broker or HTTP API (rate limits, size, quarantine)
       → the device's root flow (profile root, or the organisation's root)
            → Alarm rules → Save telemetry (key rules, time rules, key cap)
       → the telemetry store → Telemetry tab, dashboards, API

Une mesure peut être perdue à chaque étape. Les vérifications ci-dessous suivent cet ordre.

Rien du tout n’est stocké

VérificationCommentCorrection
L’appareil n’est pas en quarantaineLa liste des appareils affiche QuarantinedUn appareil en quarantaine se connecte, mais ses données de télémétrie et ses attributs sont acquittés puis supprimés jusqu’à ce qu’un administrateur sélectionne Activate. Voir Quarantine.
L’appareil n’est pas désactivéPage de l’appareilActivez-le
Il publie sur le bon topicL’onglet Log de l’appareil ; la référence des topicsLa télémétrie est envoyée sur v1/telemetry (ou sur les topics personnalisés de votre profil). Un topic inconnu sous v1/ est rejeté avec unknown_reserved_topic. Voir MQTT topics and payload reference.
Un flux racine est en cours d’exécution sur l’hôte IoTAutomation, filtre IoTUn flux racine doit être Running. Une bannière « No worker is running the IoT host right now… » signifie que le traitement est arrêté : contactez le support.
L’arrêt d’urgence n’est pas activéBannière Automation « Emergency stop: n flows are paused… »Reprenez les flux
Le profil de l’appareil possède son propre flux racineLa liste des flux affiche des badges Root avec le nom du profilC’est ce flux racine, et non celui de l’organisation, qui traite l’appareil : il doit contenir Save telemetry
Les messages atteignent Save telemetryLe panneau Activity du flux racine : Debug, Errors, les compteurs de messages sur les liaisonsCorrigez le chemin ; conservez Alarm rules, Save telemetry et Save client attributes dessus
L’automatisation IoT est disponible pour votre organisationSans elle, aucune donnée d’appareil n’est stockéeContactez le support

Voir Hosts, the root flow and profile root flows.

Certaines clés ou certaines mesures manquent

Save telemetry indique pourquoi il a écarté une valeur. Ouvrez Activity > Runs ou Errors du flux racine :

CodeCauseCorrection
key_invalidUn caractère hors de A–Z a–z 0–9 _ . -, ou une clé videRenommez la clé sur l’appareil ou dans le flux
key_too_longPlus de 64 caractères, y compris après un préfixe de topicDes clés plus courtes
key_reservedCommence par _, fw_, current_fw_ ou cfg.Ces préfixes sont réservés aux attributs et à la plateforme. Voir Reserved keys and attributes.
string_too_longTexte de plus de 1 024 caractèresEnvoyez un texte plus court, ou stockez-le comme attribut
value_too_largeJSON de plus de 4 KiB, raw au-delà de sa limite, ou un nombre non fini (NaN, Infinity)Découpez la valeur ; envoyez des nombres
bad_formForme que le stockage ne lit pas, ou plus de 1 000 points clé-valeur dans un messageEnvoyez un objet plat, {"ts": …, "values": {…}} ou un tableau de ceux-ci ; découpez les gros lots
bad_tsUn horodatage non exprimé en millisecondes epoch, à plus de 10 minutes dans le futur, ou plus ancien que Oldest accepted reading (days)Voir Wrong times and gaps
too_oldPlus ancien que ce que conserve votre classe de rétention pour les données brutes (7 à 90 jours)Envoyez plus tôt les données mises en mémoire tampon
key_limitUne nouvelle clé au-delà du plafond de clés de télémétrie de votre forfait (250, 400 ou 2 050 selon le palier)Supprimez les clés inutiles avant Save telemetry, ou changez de forfait
no_valuesRien de l’enregistrement n’a pu être stockéVoir les codes de ses valeurs

Le reste du message est tout de même stocké lorsqu’une clé est refusée.

La charge utile n’est pas ce qu’Hermetry attend

SymptômeCause
Tout est stocké sous une seule clé rawLe corps n’est pas un objet JSON (binaire, texte brut, scalaire ou tableau sur un topic personnalisé). Décodez-le dans le flux racine, utilisez un codec LoRaWAN, ou envoyez du JSON.
Un nombre est listé comme TextL’appareil l’envoie entre guillemets ("21.5"). Envoyez un nombre, ou convertissez avec number(...) dans un bloc Calculate.
Des valeurs apparaissent sous un nom imbriquéL’option Prefix keys with the topic du profil stocke les données d’un topic personnalisé sous la forme <topic>.<key>
Rien pour un appareil enfant d’une passerelleLa passerelle doit envoyer v1/gw/connect pour l’enfant et utiliser la forme v1/gw/telemetry. Voir Devices behind a gateway.

Des messages sont écartés par une limite

LimitePar défautCe qui se passeOù regarder
Messages de télémétrie par appareil10 par seconde et 300 par minuteAcquittés puis supprimés ; les propriétaires et administrateurs reçoivent un avis par appareil et par heureLes Limits du profil
Points de données par appareil200 par seconde et 6 000 par minuteIdentiqueIdentique
Mises à jour d’attributs par appareil5 par seconde et 60 par minuteIdentiqueIdentique
Taille du message64 KiBLe message est écarté en entier ; la connexion reste activeLa valeur Max message payload (bytes) du profil
Mesures rejouées (mises en mémoire tampon)La moitié du nombre de télémétrie par secondeLes enregistrements plus anciens envoyés après une panne doivent respecter Replay messages per secondLes Limits du profil
Organisation entière10, 15 ou 70 messages par seconde et 6 000, 9 000 ou 42 000 points de données par minute, selon le palierAcquittés puis supprimés ; HTTP répond 429 avec Retry-After ; un avis par heurePlans and the IoT add-on
Enfants de passerellePar enfant et pour l’ensemble du message de la passerelleUn enfant qui dépasse ses propres limites ne perd que ses enregistrements (child_rate_limited)Devices behind a gateway

Un appareil qui dépasse sans cesse sa limite (plus de trois fois son quota par minute écarté en une minute) voit sa session fermée. Voir Device profiles.

Regroupez les mesures au lieu d’envoyer un message par valeur : un message contenant 50 enregistrements horodatés n’est qu’un seul message.

Le quota mensuel de messages

Le quota mensuel de messages IoT n’arrête jamais les données. Au-delà, Hermetry continue d’accepter, de stocker et de traiter vos messages ; le dépassement est facturé. Si les données s’arrêtent, cherchez l’une des causes ci-dessus, et non le quota. Voir Message quota and usage.

Elle est stockée, mais vous ne la voyez pas

SymptômeCause
L’onglet Telemetry l’affiche, un tableau de bord nonVoir A dashboard shows no data
Une carte de valeur l’affiche, un graphique indique No values in this windowLa clé est un texte ou un vrai/faux : ceux-ci n’ont pas d’historique graphique. Stockez une copie numérique. Voir Numbers, text and true/false values.
Un graphique sur une longue période a un retard d’une à deux minutesLes fenêtres de plus de 24 heures lisent des synthèses par minute, remplies chaque minute
La dernière valeur ne change pasLes nouvelles mesures ont un horodatage plus ancien ou égal à celui déjà stocké

Par type de connexion

ConnexionAutres vérifications
LoRaWANTroubleshooting uplinks and downlinks, le Frames log et le codec
SNMP et autres appareils interrogésPolling devices over SNMP : chaque interrogation écrit un message ; un appareil en échec est temporisé
API HTTP de l’appareil400 charge utile invalide, 413 corps trop volumineux, 429 limite de débit. Voir Device HTTP API.

Liens connexes