Edición de una plantilla de dispositivo

Una plantilla de dispositivo incluye un modelo que describe el modo en que un dispositivo interactúa con IoT Central. Este modelo define las funcionalidades del dispositivo y la manera en que IoT Central interactúa con ellas. Los dispositivos pueden enviar datos de telemetría y valores de propiedad a IoT Central, IoT Central puede enviar comandos y actualizaciones de propiedades a un dispositivo. IoT Central también usa el modelo para definir interacciones con características de IoT Central como trabajos, reglas y exportaciones.

Los cambios en el modelo de una plantilla de dispositivo pueden afectar a toda la aplicación, incluidos los dispositivos conectados. Los cambios en una funcionalidad que usan las reglas, exportaciones, grupos de dispositivos o trabajos pueden hacer que estos se comporten de forma inesperada o dejen de funcionar. Por ejemplo, si quita una definición de telemetría de una plantilla:

  • IoT Central ya no puede interpretar ese valor. IoT Central muestra los datos del dispositivo que no puede interpretar como Datos no modelados en la página Datos sin procesar del dispositivo.
  • IoT Central ya no incluye el valor en ninguna exportación de datos.

Para ayudarle a evitar consecuencias imprevistas al editar una plantilla de dispositivo, en este artículo se incluyen recomendaciones basadas en la fase del ciclo de vida de desarrollo actual. En general, cuanto más temprano se encuentre en el ciclo de vida del desarrollo, más tolerante puede ser a los cambios de la plantilla de dispositivo.

Para más información sobre las plantillas de dispositivo y cómo crear una, consulte ¿Qué son las plantillas de dispositivo? y Configuración de una plantilla de dispositivo.

Para obtener información sobre cómo administrar plantillas de dispositivo mediante la API de REST de IoT Central, consulte Uso de la API de REST de IoT Central para administrar plantillas de dispositivo.

Modificación de una plantilla de dispositivo

Los cambios aditivos, como la adición de una funcionalidad o interfaz a un modelo, son cambios no disruptivos. Puede realizar cambios aditivos en un modelo en cualquier fase del ciclo de vida de desarrollo.

Los cambios importantes incluyen la eliminación de partes de un modelo o el cambio de un nombre de funcionalidad o un tipo de esquema. Estos cambios podrían hacer que las características de la aplicación, como reglas, exportaciones o paneles, muestren mensajes de error y dejen de funcionar.

En las primeras fases del desarrollo de dispositivos, mientras sigue diseñando y probando el modelo, hay mayor tolerancia para realizar cambios directamente en el modelo de dispositivo. Antes de conectar dispositivos de producción a una plantilla de dispositivo, puede editarla directamente. IoT Central aplica estos cambios automáticamente a los dispositivos al publicar la plantilla de dispositivo.

Después de asociar dispositivos de producción a una plantilla de dispositivo, evalúe el impacto de los cambios antes de editar una plantilla de dispositivo. No debe realizar cambios importantes en una plantilla de dispositivo en producción. Para realizar estos cambios, cree una nueva versión de la plantilla de dispositivo. Pruebe la nueva plantilla de dispositivo y, a continuación, migre los dispositivos de producción a la nueva plantilla en un tiempo de inactividad programado.

Actualización de una plantilla de dispositivo de IoT Edge

Para un dispositivo IoT Edge, el modelo agrupa las funcionalidades por módulos que corresponden a los módulos de IoT Edge que se ejecutan en el dispositivo. El manifiesto de implementación es un documento JSON independiente que indica al dispositivo IoT Edge qué módulos instalar, cómo configurarlos y qué propiedades tiene el módulo. Si modifica un manifiesto de implementación, puede actualizar la plantilla de dispositivo para incluir los módulos y las propiedades definidas en el manifiesto:

  1. Vaya al nodo Módulos de la plantilla de dispositivo.
  2. En la página Resumen de módulos, seleccione Importar módulos desde el manifiesto.
  3. Seleccione el manifiesto de implementación adecuado y seleccione Importar.

Para más información, consulte Dispositivos IoT Edge e IoT Central.

Edición y publicación de acciones

Las siguientes acciones son útiles al editar una plantilla de dispositivo:

  • Seleccione Guardar. Cuando cambia parte de la plantilla de dispositivo, al guardar los cambios se crea un borrador al que puede volver. Estos cambios aún no afectan a los dispositivos conectados. En los dispositivos creados a partir de esta plantilla no se guardan los cambios hasta que la publique.
  • Publicación. Al publicar la plantilla de dispositivo, se aplican los cambios guardados a las instancias de dispositivo existentes. Las instancias de dispositivo recién creadas siempre usan la plantilla publicada más reciente.
  • Control de versiones de una plantilla. Cuando se genera una nue versión de una plantilla de dispositivo, se crea una plantilla con todos los cambios guardados más recientes. Los cambios realizados en una nueva versión no afectan a las instancias de dispositivo existentes. Para obtener más información, consulte Control de versiones de una plantilla de dispositivo.
  • Control de las versiones de una interfaz. Al crear una versión de una interfaz, se crea una nueva interfaz con todas las funcionalidades guardadas más recientes. Puede reutilizar una interfaz en varias ubicaciones dentro de una plantilla. Este es el motivo por el que un cambio realizado en una referencia a una interfaz cambia todos los lugares de la plantilla que usan la interfaz. Cuando se controlan las versiones de una interfaz, este comportamiento cambia porque la nueva versión es ahora una interfaz independiente. Para más información, consulte Control de las versiones de una interfaz.
  • Migración de un dispositivo. Al migrar un dispositivo, la instancia de dispositivo cambia de una plantilla de dispositivo a otra. La migración de los dispositivos puede tardar un poco mientras IoT Central procesa los cambios. Para más información, consulte Migración de un dispositivo entre versiones.

Números de versión

Ambos modelos de dispositivo e interfaces tienen números de versión. Los distintos números de versión permiten que los modelos o interfaces compartan un valor @id, al tiempo que proporcionan un historial de actualizaciones. Los números de versión solo se incrementan si decide controlar las versiones de la plantilla o la interfaz, o si cambia deliberadamente el número de versión. Debe cambiar un número de versión al realizar un cambio importante en una plantilla o interfaz.

En el fragmento de código siguiente se muestra el modelo de dispositivo de un dispositivo termostato. El modelo de dispositivo tiene una sola interfaz. Puede ver el número de versión, 1, al final del campo @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": [
    // ...
  ]
}

Para ver esta información en la interfaz de usuario de IoT Central, seleccione View identity (Ver identidad) en el editor de plantillas de dispositivo:

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

Versión de una plantilla de dispositivo

Para controlar la versión de una plantilla de dispositivo:

  1. Vaya a la página Plantillas de dispositivo.
  2. Seleccione la plantilla de dispositivo cuya versión desea controlar.
  3. Seleccione Versión en la parte superior de la página y asigne un nuevo nombre a la plantilla. IoT Central sugiere un nombre nuevo, que se puede editar.
  4. Seleccione Crear.

Ahora ha creado una plantilla con una identidad única que no está asociada a ningún dispositivo existente.

Control de las versiones de una interfaz

Para controlar las versiones de una interfaz:

  1. Vaya a la página Plantillas de dispositivo.
  2. Seleccione la plantilla de dispositivo que tiene en modo borrador.
  3. Seleccione la interfaz publicada cuya versión quiere controlar y modificar.
  4. Seleccione Versión en la parte superior de la página de la interfaz.
  5. Seleccione Crear.

Ahora ha creado una nueva interfaz con una identidad única, no sincronizada con la versión anterior de la interfaz.

Migración de un dispositivo entre versiones

Puede crear varias versiones de la plantilla de dispositivo. Con el tiempo, tendrá varios dispositivos conectados mediante estas plantillas de dispositivo. Puede migrar los dispositivos de una versión de la plantilla de dispositivo a otra. Los pasos siguientes describen cómo migrar un dispositivo:

  1. Vaya a la página Dispositivos.

  2. Seleccione el dispositivo que necesita migrar a otra versión.

  3. Elija Migrate (Migrar):

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

  4. Seleccione la plantilla de dispositivo con la versión a la que quiere migrar el dispositivo y elija Migrar.

Sugerencia

Puede usar un trabajo para migrar todos los dispositivos de un grupo de dispositivos a una nueva plantilla de dispositivo al mismo tiempo.