Un profil d’appareil décrit le comportement d’un type d’appareil. Chaque appareil utilise exactement un profil. Si vous modifiez le profil, tous les appareils qui l’utilisent suivent la modification. Créez un profil par type d’appareil : un profil par modèle de capteur, par famille de firmware ou par besoin de sécurité (par exemple un profil TLS et un profil pour les anciens appareils qui ne peuvent pas utiliser TLS).
Ouvrez les Device Profiles dans le menu IoT. La consultation nécessite le rôle User ; la modification nécessite le rôle Admin. La stratégie de provisioning et les clés nécessitent la permission distincte de gérer le provisioning (administrateurs).
La liste des profils
La liste affiche Name, Transport, Online rule, Devices (le nombre se met à jour toutes les 30 s) et Updated, avec les badges Default, Built-in et Platform template. Recherchez par nom et filtrez par transport et par règle de connexion.
Pour créer un profil, sélectionnez New profile, saisissez un Name, une Description et le Transport, puis sélectionnez Create profile. Les limites, les topics et les identifiants partent des valeurs par défaut du protocole ; vous les modifiez sur la page du profil. Vous devez choisir une online rule avant de pouvoir enregistrer le profil.
Le profil par défaut
Chaque organisation possède exactement un profil par défaut. Hermetry crée un profil nommé Default la première fois qu’il en a besoin. Il utilise :
- la règle Live connection,
- le schéma de topics par défaut,
- l’authentification par jeton d’accès uniquement,
- les limites standard du protocole,
- le provisioning Disabled,
- TLS only (port 8883).
Votre premier profil personnalisé devient aussi le profil par défaut. Pour faire d’un autre profil le profil par défaut, ouvrez-le et sélectionnez Make default. Les nouveaux appareils qui ne désignent aucun profil reçoivent le profil par défaut.
Profils intégrés
Certains protocoles disposent d’un profil intégré, marqué Built-in profile. Hermetry le crée la première fois qu’il est nécessaire :
| Profil intégré | Utilisé par |
|---|---|
| LoRaWAN EU868 Class A OTAA (1.0.3) | Capteurs LoRaWAN ajoutés avec New device > LoRaWAN device |
| LoRaWAN gateway | Passerelles Basics Station |
| Le profil du protocole caméra | Caméras et enregistreurs de ce protocole |
Un profil intégré conserve son transport (« A built-in profile keeps its transport: devices of its protocol are registered with it. ») et ne peut pas être supprimé. Tout le reste est modifiable, et vous pouvez le renommer.
Profils issus d’un modèle
Un appareil sous licence que vous revendiquez reçoit une copie du profil de son modèle, créée à partir d’un modèle de la plateforme. L’en-tête du profil indique le modèle et la version d’origine, et certains champs affichent from template. Un tel profil n’accepte que les certificats X.509 (« Ce profil n’accepte que les certificats X.509 »). Le provisioning reste Disabled sur une copie.
Sections du profil
| Onglet | Ce que vous définissez |
|---|---|
| General | Name (de 1 à 128 caractères, unique dans votre organisation), Description (jusqu’à 2 000 caractères). Affiche la date de création et de dernière modification du profil, son ID, et ce qui l’utilise (In use). |
| Transport et authentification | Transport, connexions autorisées, MQTT en clair, jeton dans l’URL, réseaux autorisés, commandes autorisées sans TLS, schémas de topics, topics personnalisés. |
| Online status | La manière dont Hermetry détermine qu’un appareil est en ligne. |
| Limits | Limites de débit, tailles de charge utile, fenêtre en vol, inactivité, enfants de passerelle, délai par défaut des commandes. |
| Telemetry keys | Les clés envoyées par les appareils, avec libellés, unités, décimales et plages. |
| Configuration keys | Les clés cfg.* que vous pouvez définir sur les appareils. |
| Provisioning | La manière dont les appareils sans identifiants s’enregistrent eux-mêmes. |
D’autres modules ajoutent des onglets : Alarm rules, Commands, Firmware, LoRaWAN (profils LoRaWAN) et SNMP (profils SNMP).
Transport et authentification
Transport
| Transport | Appareils |
|---|---|
| MQTT | Connexion en MQTT. |
| HTTP | Envoi en HTTPS uniquement. |
| MQTT and HTTP | L’un ou l’autre. |
| LoRaWAN | Ils rejoignent le réseau via le serveur réseau LoRaWAN de Hermetry. Ils ne se connectent pas eux-mêmes. |
| Un protocole interrogé | Sont interrogés par la plateforme via un point de terminaison (agents SNMP, caméras, enregistreurs). Les paramètres MQTT, de jeton et de réseau ne s’appliquent pas. |
Modifier le transport ne modifie jamais la règle de connexion ; une règle que le transport ne peut pas utiliser bloque l’enregistrement.
Allowed authentication (au moins un) : Access token, MQTT basic (username and password), X.509 certificate. Voir Device credentials.
Sécurité du transport
| Paramètre | Par défaut | Effet |
|---|---|---|
| Plain MQTT | TLS only (port 8883) | Un appareil qui se connecte sur le port non chiffré 1883 est refusé. Passer un profil en TLS only met fin immédiatement aux sessions en clair de ses appareils. Plain MQTT allowed (port 1883) est réservé aux appareils qui ne peuvent pas utiliser TLS. |
| Token in the URL (appareils ne pouvant pas envoyer d’en-têtes) | Désactivé | Autorise POST /api/v1/{token}/telemetry et /attributes. Un tel profil devient HTTP uniquement : toute connexion MQTT de ses appareils est refusée. |
| Allowed networks | Vide (tous les réseaux) | Jusqu’à 64 réseaux IPv4 ou IPv6 (203.0.113.0/24) ou adresses uniques. Les appareils situés en dehors sont refusés (MQTT CONNACK 5, HTTP 403). |
| Commands allowed without TLS | Vide | Jusqu’à 32 noms de commandes exacts qu’un appareil peut recevoir en clair pendant une session. Toute autre commande attend une session TLS. |
Avertissement
N’indiquez que des commandes sans TLS dont un usage abusif est sans danger, comme sys.info ou sys.ping. N’indiquez jamais sys.reboot, ota.check ou cert.renew. Les mises à jour de firmware et les paramètres des appareils ne sont jamais envoyés en clair, et une réinitialisation d’usine n’est jamais envoyée du tout.
Topic schemes (au moins un) :
| Schéma | Topics |
|---|---|
| Le schéma par défaut | v1/telemetry, v1/attributes, v1/rpc/… et le reste de l’ensemble par défaut. Les topics v1/… inconnus sont rejetés. |
| Legacy compatible | v1/devices/me/telemetry et v1/devices/me/attributes uniquement, pour les firmwares existants : pas de commandes, de revendication, de provisioning ni de topics de passerelle. |
Avec les deux activés, l’ancien et le nouveau firmware partagent un profil ; les descendants suivent ce à quoi chaque appareil s’est abonné.
Custom topics (Accept topics outside v1/ as telemetry) : tout topic hors v1/ est accepté comme télémétrie. Un objet JSON devient des clés ; tout autre contenu devient une clé raw unique, limitée en taille.
| Champ | Par défaut | Plage |
|---|---|---|
| Prefix keys with the topic | Désactivé : si une même clé arrive sur deux topics, la dernière écriture l’emporte | — |
| Max topic depth (levels) | 8 | 1 à 16 |
| Max topic length (characters) | 128 | 16 à 256 |
| Distinct topics per device | 50 | 1 à 1 000 |
| Max raw payload (bytes) | 4,096 | 256 à 65 536, jamais au-dessus de la limite de charge utile |
Online status
| Règle | Un appareil est en ligne lorsque |
|---|---|
| Live connection | Il maintient sa connexion MQTT. Recommandé pour les appareils qui gardent MQTT ouvert. |
| Recent message | Son dernier message est plus récent que Expected interval (seconds) × Factor. La page affiche « Shown offline after … without a message. » |
| Last seen only | Jamais affiché comme en ligne ou hors ligne. Les listes indiquent la dernière fois où il a été vu. |
Intervalle attendu va de 60 à 604 800 secondes et est requis pour Message récent. Facteur va de 1,5 à 10 (une décimale), 3 par défaut. Les appareils HTTP et LoRaWAN ne maintiennent aucune connexion ; Connexion en direct n’est donc pas proposée pour eux, et les appareils interrogés utilisent Dernière activité uniquement. Voir Statut de connexion et activité.
Limites
Les limites de débit suivent la forme count:seconds ; plusieurs fenêtres s’appliquent ensemble, chacune plus longue que la précédente (4 au maximum par famille, un nombre de 1 à 1 000 000 sur une période de 1 seconde à 1 jour). Valeur par défaut du protocole rétablit une famille.
| Famille | Défaut |
|---|---|
| Messages de télémétrie | 10:1,300:60 |
| Points de télémétrie | 200:1,6000:60 |
| Mises à jour d’attributs | 5:1,60:60 |
| Requêtes d’attributs | 5:1,60:60 |
| Messages RPC | 5:1,60:60 |
| Demandes de certificat | 1:3600 |
| Connexions | 6:60 |
Hermetry applique les limites des messages de télémétrie, des points de télémétrie et des mises à jour d’attributs à chaque appareil. Au-delà d’une limite, le message est acquitté puis rejeté. Les propriétaires et administrateurs reçoivent une notification par appareil et par heure. Chaque appareil reçoit ses limites effectives dans l’attribut partagé session_limits.
| Champ | Défaut | Plage |
|---|---|---|
| Messages rejoués par seconde | Vide : la moitié du nombre de télémétries par seconde | 1 à 10 000 |
| Charge utile maximale des messages (octets) | 65,536 | 1 024 à 65 536 |
| Charge utile maximale des liaisons descendantes (octets) | 65,536 | 1 024 à 65 536 |
| Messages non acquittés maximum (MQTT) | 20 | 1 à 1 000 |
| Délai d’inactivité (secondes) | 600 | 10 à 604 800. Un appareil qui n’envoie rien pendant ce délai est inactif (ce qui ne signifie pas hors ligne). |
| Nombre maximum d’enfants d’une passerelle | 500 | 0 à 10 000 |
| Profil des nouveaux enfants | Profil enfant générique | Tout profil ; utilisé lorsque la passerelle ne précise aucun type |
| Délai RPC par défaut (secondes) | 10 | 1 à 300 |
Clés de télémétrie
Listez les clés envoyées par les appareils (500 au maximum). Chaque clé a un Type (Nombre, Nombre entier, Oui / non, Texte, JSON) et, facultativement, une Unité (32 caractères au maximum), un Libellé (128 au maximum), un Min, un Max et des Décimales (0 à 10). Les tableaux de bord les utilisent : une jauge prend la plage comme échelle par défaut. Les clés suivent les règles de clés : 64 caractères au maximum parmi A–Z a–z 0–9 _ . -, et ne commençant pas par _, fw_, current_fw_ ou cfg..
Les clés non listées sont tout de même stockées. Refuser les clés non listées est enregistré mais pas encore appliqué ; la page l’indique.
Lorsque vous supprimez ou renommez des clés, le profil affiche Les clés supprimées sont encore utilisées avec les règles d’alarme et les autres lecteurs qui les lisent, et propose Les mettre à jour avec les nouveaux noms ou Conserver.
Clés de configuration
Les clés cfg.* qu’un appareil accepte comme attributs partagés, chacune avec un type, un libellé et des limites : Min, Max, Valeurs autorisées (100 au maximum), Longueur min et Longueur max, et Secret (écriture seule). La Dérive de configuration (Signaler les écarts ou Appliquer) est enregistrée mais pas encore appliquée. Voir Attributs.
Provisionnement
La stratégie (Désactivé, Autoriser la création de nouveaux appareils, Seulement les appareils préprovisionnés) et les clés de provisionnement. Voir Ajouter et revendiquer des appareils.
Enregistrer les modifications
- Enregistrer les modifications n’envoie que les champs que vous avez modifiés ; Annuler les supprime. Vos modifications restent dans le formulaire lorsque vous changez d’onglet.
- Enregistrer des modifications sur le transport, les identifiants, les réseaux, les schémas de topics ou les limites d’un profil utilisé affiche Modifier la façon dont les appareils de … se connectent ? : les sessions en direct qui ne remplissent plus les conditions prennent fin immédiatement. Sélectionnez Enregistrer et appliquer.
- Si quelqu’un d’autre a enregistré le profil après que vous l’avez ouvert, votre enregistrement est refusé : « Quelqu’un d’autre a enregistré ce profil après que vous l’avez ouvert. » Utilisez Recharger le profil.
Dupliquer et supprimer
- Dupliquer le profil crée « un nouveau profil avec tous les paramètres de celui-ci ; le provisionnement commence désactivé et aucune clé n’est copiée », nommé
<name> (copy). - Supprimer le profil est refusé pour le profil par défaut (« définissez d’abord un autre profil par défaut »), un profil intégré, un modèle de plateforme, et un profil encore utilisé par des appareils, des règles d’alarme ou des commandes (« Encore utilisé par … : déplacez-les ou retirez-les d’abord. »).

