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érification | Comment | Correction |
|---|---|---|
| L’appareil n’est pas en quarantaine | La liste des appareils affiche Quarantined | Un 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’appareil | Activez-le |
| Il publie sur le bon topic | L’onglet Log de l’appareil ; la référence des topics | La 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 IoT | Automation, filtre IoT | Un 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 racine | La liste des flux affiche des badges Root avec le nom du profil | C’est ce flux racine, et non celui de l’organisation, qui traite l’appareil : il doit contenir Save telemetry |
| Les messages atteignent Save telemetry | Le panneau Activity du flux racine : Debug, Errors, les compteurs de messages sur les liaisons | Corrigez le chemin ; conservez Alarm rules, Save telemetry et Save client attributes dessus |
| L’automatisation IoT est disponible pour votre organisation | Sans elle, aucune donnée d’appareil n’est stockée | Contactez 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 :
| Code | Cause | Correction |
|---|---|---|
key_invalid | Un caractère hors de A–Z a–z 0–9 _ . -, ou une clé vide | Renommez la clé sur l’appareil ou dans le flux |
key_too_long | Plus de 64 caractères, y compris après un préfixe de topic | Des clés plus courtes |
key_reserved | Commence 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_long | Texte de plus de 1 024 caractères | Envoyez un texte plus court, ou stockez-le comme attribut |
value_too_large | JSON 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_form | Forme que le stockage ne lit pas, ou plus de 1 000 points clé-valeur dans un message | Envoyez un objet plat, {"ts": …, "values": {…}} ou un tableau de ceux-ci ; découpez les gros lots |
bad_ts | Un 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_old | Plus 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_limit | Une 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_values | Rien 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ôme | Cause |
|---|---|
Tout est stocké sous une seule clé raw | Le 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 Text | L’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 passerelle | La 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
| Limite | Par défaut | Ce qui se passe | Où regarder |
|---|---|---|---|
| Messages de télémétrie par appareil | 10 par seconde et 300 par minute | Acquittés puis supprimés ; les propriétaires et administrateurs reçoivent un avis par appareil et par heure | Les Limits du profil |
| Points de données par appareil | 200 par seconde et 6 000 par minute | Identique | Identique |
| Mises à jour d’attributs par appareil | 5 par seconde et 60 par minute | Identique | Identique |
| Taille du message | 64 KiB | Le message est écarté en entier ; la connexion reste active | La 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 seconde | Les enregistrements plus anciens envoyés après une panne doivent respecter Replay messages per second | Les Limits du profil |
| Organisation entière | 10, 15 ou 70 messages par seconde et 6 000, 9 000 ou 42 000 points de données par minute, selon le palier | Acquittés puis supprimés ; HTTP répond 429 avec Retry-After ; un avis par heure | Plans and the IoT add-on |
| Enfants de passerelle | Par enfant et pour l’ensemble du message de la passerelle | Un 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ôme | Cause |
|---|---|
| L’onglet Telemetry l’affiche, un tableau de bord non | Voir A dashboard shows no data |
| Une carte de valeur l’affiche, un graphique indique No values in this window | La 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 minutes | Les fenêtres de plus de 24 heures lisent des synthèses par minute, remplies chaque minute |
| La dernière valeur ne change pas | Les nouvelles mesures ont un horodatage plus ancien ou égal à celui déjà stocké |
Par type de connexion
| Connexion | Autres vérifications |
|---|---|
| LoRaWAN | Troubleshooting uplinks and downlinks, le Frames log et le codec |
| SNMP et autres appareils interrogés | Polling devices over SNMP : chaque interrogation écrit un message ; un appareil en échec est temporisé |
| API HTTP de l’appareil | 400 charge utile invalide, 413 corps trop volumineux, 429 limite de débit. Voir Device HTTP API. |

