Definición del modelo de ThingWorx en Composer > Modelado > Cosas > Propiedades de cosa > Adición de propiedades a cosas mediante programación
Adición de propiedades a cosas mediante programación
El servicio AddPropertyDefinition se puede utilizar para crear una nueva propiedad local o enlazada remotamente en una cosa, plantilla de cosa o definición de cosa. El servicio tiene los siguientes parámetros:
Parámetro
Tipo base
Descripción
name
STRING
Obligatorio. El nombre de la propiedad que se debe crear.
type
BASETYPENAME
Obligatorio. El tipo base de ThingWorx de la propiedad. Para obtener una lista de los tipos base de ThingWorx, consulte la tabla "Tipos base" en Propiedades de cosa.
description
STRING
Descripción de la propiedad.
category
STRING
Nombre de la categoría para clasificar la propiedad.
dataShape
DATASHAPENAME
Cuando el tipo base de la propiedad es INFOTABLE, se define la definición de datos que utiliza la propiedad.
La entidad de definición de datos especificada para este parámetro debe existir antes de que se ejecute el servicio.
Este parámetro no es obligatorio. Sin embargo, INFOTABLE no se puede definir a través de Composer (mediante el botón Definir) sin una definición de datos especificada.
defaultValue
STRING
Permite especificar el valor por defecto de la propiedad.
readOnly
BOOLEAN
Es verdadero si la propiedad es de solo lectura. De lo contrario, es falso.
persistent
BOOLEAN
Es verdadero si los valores persistirán después de un reinicio del servicio de ThingWorx (los valores se almacenan en el proveedor de persistencia). Es falso si el valor se borra al reiniciar el servicio de ThingWorx.
logged
BOOLEAN
Si es verdadero, la propiedad se almacena en un flujo de valor configurado.
dataChangeType
STRING
Permite definir qué constituye un cambio en el valor de la propiedad para fines de registro o alerta. Uno de los valores de Siempre, Nunca, Activado, Desactivado o Valor.
Siempre: se desencadena un evento de cambio para cualquier cambio del valor de la propiedad.
Nunca: nunca se desencadena un evento de cambio al cambiar el valor de la propiedad.
Activado: para la mayoría de los valores, cualquier cambio en la propiedad desencadena un evento de cambio de datos.
Desactivado: se desencadena un evento de cambio de datos si el nuevo valor se evalúa como booleano falso.
Valor: para los tipos de número (NÚMERO, ENTERO, LARGO, etc.), se desencadena un evento de cambio si la diferencia entre el valor de la propiedad anterior y nuevo excede el umbral especificado en el parámetro dataChangeThreshold.
dataChangeThreshold
NUMBER
Número mínimo por el que la propiedad numérica debe cambiar antes de que se desencadene un evento de cambio de datos.
Propiedades remotas
Hay parámetros adicionales para las propiedades enlazadas remotamente. Se especifican como una matriz de remoteBindingAspects.
* 
Estas propiedades no se tienen que especificar a menos que la propiedad que se defina se enlace a una propiedad remota.
Parámetro
Tipo base
Descripción
remote
BOOLEAN
Verdadero si la propiedad se enlaza a una propiedad remota; en caso contrario, falso. (Valor por defecto: falso)
remotePropertyName
STRING
El nombre de la propiedad de la cosa remota que se debe enlazar.
cacheMethod
STRING
Una manera de leer los valores de propiedad Edge enlazada:
En Read from server cache se prohíben las solicitudes del servidor a Edge para obtener el valor de la propiedad. El valor se recupera siempre de la caché del servidor. Cualquier actualización del valor en caché depende de los valores dataChangeType de la propiedad y la velocidad de escaneado. Sin la configuración de la propiedad en Edge, es posible que el servidor nunca obtenga el valor de Edge y solo devuelva el valor por defecto almacenado en el servidor. Si el valor dataChangeType de la propiedad se define en SIEMPRE o VALOR, el valor cacheMethod se define en esta configuración por defecto.
Fetch from remote every read permite recuperar el valor de Edge para cada solicitud. No hay ningún almacenamiento en caché implicado en esta opción. Si el valor dataChangeType de la propiedad se define en NUNCA, el tipo de caché se define en esta configuración por defecto.
Cached for specific time permite controlar la frecuencia con que se realizan las solicitudes al servidor Edge. Tras la primera solicitud, el servidor accede a la propiedad del dispositivo Edge para obtener su valor. No se realiza otra solicitud al servidor Edge hasta que caduque el valor de cacheInterval definido. Se debe tener en cuenta que el dispositivo Edge puede actualizar el valor en el servidor (mediante inserción) durante ese período.
cacheInterval
NUMBER
Cuando el valor de cacheMethod se define en Cached for specific time, el número de segundos que el servidor almacena en caché el valor de la propiedad antes de que se envíe una solicitud al servidor Edge para obtener el valor de la propiedad. El valor siempre se recupera del servidor Edge tras la primera solicitud.
timeout
INTEGER
El tiempo en segundos que se debe esperar para una respuesta de la cosa remota.
* 
Si este valor se define en 0, se utilizará el valor por defecto del sistema.
pushType
STRING
Permite definir el modo en que los valores se insertan desde el dispositivo remoto. Se define en SIEMPRE, NUNCA, ACTIVADO, DESACTIVADO o VALOR, con definiciones similares a las de dataChangeType anteriores.
pushThreshold
NUMBER
Permite definir el umbral que una propiedad de tipo numérica debe superar antes de que un cambio de datos se inserte en el dispositivo remoto.