Modifier un modèle d’appareil

Un modèle d’appareil comprend un modèle qui décrit les interactions de l’appareil avec IoT Central, définit ses fonctionnalités et spécifie le comportement d’IoT Central à son égard. Les appareils peuvent envoyer des données de télémétrie et des valeurs de propriété à IoT Central, qui peut en retour leur envoyer des mises à jour de propriétés et des commandes. IoT Central utilise également le modèle pour définir des interactions avec différentes fonctionnalités IoT Central, notamment les travaux, les règles et les exportations.

Les changements apportés au modèle dans un modèle d’appareil sont susceptibles d’affecter l’ensemble de l’application, y compris les appareils connectés. Les modifications apportées à une fonctionnalité utilisée par les règles, les exportations, les groupes de périphériques ou les travaux peuvent entraîner un comportement inattendu ou un dysfonctionnement. Supposons par exemple que vous supprimiez une définition de télémétrie d’un modèle :

  • IoT Central n’est plus en mesure d’interpréter cette valeur. Il affiche les données de l’appareil qu’il ne peut pas interpréter avec le libellé Données non modélisées sur la page Données brutes de l’appareil.
  • IoT Central n’inclut plus la valeur dans les exportations de données.

Pour éviter toute conséquence inattendue de la modification d’un modèle d’appareil, cet article donne des recommandations qui varient en fonction de l’étape du cycle de vie de développement. En général, plus vous vous trouvez tôt dans le cycle de vie, plus grande peut être votre tolérance à l’égard de la modification du modèle d’appareil.

Pour plus d’informations sur les modèles d’appareils et pour savoir comment en créer un, consultez Présentation des modèles d’appareil et Configuration d’un modèle d’appareil.

Pour savoir comment gérer des modèles d’appareil en utilisant l’API REST IoT Central, consultez Comment utiliser l’API REST IoT Central pour gérer les modèles d’appareils.

Modification d’un modèle d’appareil

Les modifications additives, telles que l’ajout d’une capacité ou d’une interface à un modèle, sont des modifications sans rupture. Vous pouvez apporter ce type de modifications à un modèle à n’importe quel moment du cycle de vie du développement.

Les changements cassants impliquent la suppression de certaines parties d’un modèle, ou la modification d’un nom de fonction ou d’un type de schéma. En conséquence de ces changements, différentes fonctionnalités d’application (règles, exportations ou tableaux de bord) peuvent afficher des messages d’erreur et cesser de fonctionner.

Dans les premiers stades de développement des appareils, alors que vous êtes toujours en phase de conception et de test du modèle, vous pouvez bénéficier d’une plus grande tolérance pour apporter directement des modifications à votre modèle d’appareil. Avant de connecter des appareils de production à un modèle d’appareil, vous pouvez modifier directement ce dernier. IoT Central applique automatiquement ces changements aux appareils quand vous publiez le modèle d’appareil.

Une fois que vous avez attaché des appareils de production à un modèle d’appareil, évaluez l’impact potentiel avant de modifier ce dernier. N’effectuez pas de changements cassants sur un modèle d’appareil en production. Pour apporter de telles modifications, créez une nouvelle version du modèle d’appareil. Testez-le, puis migrez vos appareils de production vers le nouveau modèle pendant un temps d’arrêt planifié.

Mise à jour d’un modèle d’appareil IoT Edge

Sur un appareil IoT Edge, le modèle regroupe les fonctionnalités dans des modules qui correspondent aux modules IoT Edge exécutés sur l’appareil. Le manifeste de déploiement consiste en un document JSON distinct qui indique à un appareil IoT Edge quels modules installer, comment les configurer et quelles propriétés leur attribuer. Si vous modifiez un manifeste de déploiement, vous pouvez mettre à jour le modèle d’appareil pour inclure les modules et les propriétés définis dans le manifeste :

  1. Accédez au nœud Modules dans le modèle d’appareil.
  2. Dans la page Récapitulatif des modules, sélectionnez Importer des modules à partir d’un manifeste.
  3. Sélectionnez le manifeste de déploiement approprié, puis sélectionnez Importer.

Pour plus d’informations, consultez Appareils IoT Edge dans IoT Central.

Modification et publication d’actions

Les actions suivantes sont utiles pour modifier un modèle d’appareil :

  • Enregistrez. . Lorsque vous modifiez une partie de votre modèle d’appareil, les modifications sont enregistrées dans un brouillon auquel vous pouvez revenir. Elles n’affectent pas encore les appareils connectés. Tous les appareils créés à partir de ce modèle ne bénéficieront pas des modifications enregistrées tant que vous ne les aurez pas publiées.
  • Publication. Lorsque vous publiez le modèle d’appareil, les modifications enregistrées sont appliquées aux instances existantes de l’appareil. Les nouvelles instances utilisent toujours le dernier modèle publié.
  • Versionnage d’un modèle. Quand vous versionnez un modèle d’appareil, un nouveau modèle est créé avec toutes les dernières modifications enregistrées. Les modifications apportées à une nouvelle version n’affectent pas les instances d’appareils existantes. Pour plus d’informations, consultez Versionnage d’un modèle d’appareil.
  • Versionnage d’une interface. Quand vous versionnez une interface, une nouvelle interface est créée avec toutes les dernières fonctionnalités enregistrées. Il est possible de réutiliser une interface dans plusieurs emplacements d’un modèle. De ce fait, la modification d’une référence à une interface se répercute sur tous les emplacements du modèle qui utilisent l’interface. Lorsque vous versionnez une interface, ce comportement change. En effet, la nouvelle version constitue alors une interface distincte. Pour plus d’informations, consultez Versionnage d’une interface.
  • Migration d’un appareil. Lorsque vous migrez un appareil, l’instance de l’appareil bascule d’un modèle d’appareil à un autre. La migration peut entraîner un bref délai le temps que IoT Central traite les modifications. Pour plus d’informations, consultez Migration d’un appareil entre différentes versions.

Numéros de version

Les modèles d’appareil et les interfaces ont des numéros de version. Des numéros de version différents permettent aux modèles ou aux interfaces de partager une valeur @id, tout en fournissant un historique des mises à jour. Les numéros de version ne sont incrémentés que si vous choisissez de créer une version du modèle ou de l’interface, ou si vous modifiez délibérément le numéro de version. Changez le numéro de version lorsque vous apportez une modification majeure à un modèle ou à une interface.

L’extrait suivant montre le modèle d’appareil pour un appareil à thermostat. Le modèle d’appareil a une seule interface. Vous pouvez voir le numéro de version (1) à la fin du champ @id.

{
  "@context": "dtmi:dtdl:context;2",
  "@id": "dtmi:com:example:Thermostat;1",
  "@type": "Interface",
  "displayName": "Thermostat",
  "description": "Reports current temperature and provides desired temperature control.",
  "contents": [
    // ...
  ]
}

Pour afficher ces informations dans l’interface utilisateur d’IoT Central, dans l’éditeur de modèle d’appareil, sélectionnez Afficher l’identité :

Screenshot that shows how to view the identity of an interface to see the version number.

Contrôler la version d’un modèle d’appareil

Pour contrôler la version d’un modèle d’appareil :

  1. Accédez à la page Modèles d’appareil.
  2. Sélectionnez le modèle d’appareil que vous souhaitez versionner.
  3. Sélectionnez Versionner en haut de la page et donnez un nouveau nom au modèle. IoT Central suggère un nouveau nom que vous pouvez modifier.
  4. Cliquez sur Créer.

Vous avez créé un nouveau modèle doté d’une identité unique qui n’est attaché à aucun appareil existant.

Contrôler la version d’une interface

Pour contrôler la version d’une interface :

  1. Accédez à la page Modèles d’appareil.
  2. Sélectionnez le modèle d’appareil en mode brouillon.
  3. Sélectionnez l’interface publiée que vous souhaitez versionner et modifier.
  4. Sélectionnez Versionner en haut de la page de l’interface.
  5. Sélectionnez Créer.

Vous avez créé une nouvelle interface doté d’une identité unique qui n’est pas synchronisé avec la version précédente de l’interface.

Migrer un appareil vers d’autres versions

Vous pouvez créer plusieurs versions d’un modèle d’appareil. Au fil du temps, vous vous retrouvez avec plusieurs appareils connectés utilisant ces modèles d’appareils. Vous pouvez migrer les appareils d’une version de votre modèle d’appareil vers une autre. Les étapes suivantes décrivent le processus de migration d’un appareil :

  1. Accédez à la page Appareils.

  2. Sélectionnez l’appareil que vous devez migrer vers une autre version.

  3. Choisissez Migrer :

    Screenshot that shows how to choose the option to start migrating a device.

  4. Sélectionnez le modèle d’appareil associé à la version vers laquelle vous voulez migrer l’appareil, puis sélectionnez Migrer.

Conseil

Vous pouvez utiliser une tâche pour migrer en même temps tous les appareils d’un groupe d’appareils vers un nouveau modèle d’appareil.