QueryNamedPropertyHistory
Descripción
Con este servicio se consulta el historial de propiedades registradas según los parámetros de entrada.
Entradas
Nombre del parámetro
Descripción
Tipo base
propertyNames
Una infotable en la que se incluye una lista de propiedades registradas de la cosa.
La definición de datos esperada para la infotable es EntityList.
INFOTABLE
maxItems
Número máximo de elementos que se devolverán en el conjunto de resultados. El valor por defecto es 500. Este parámetro se aplica después de aplicar todos los otros filtros.
NUMBER
startDate
Fecha y hora después de la cual se registró un valor.
DATETIME
endDate
Fecha y hora antes de la cual se registró un valor.
DATETIME
quality
La calidad de la entrada registrada para la propiedad. Los valores múltiples se pueden separar mediante una barra vertical (|). Las opciones válidas son GOOD, BAD y UNKNOWN.
STRING
fillOption
Las opciones válidas son Previous y None. Si se solicita Previous, se informará del valor anterior cuando la propiedad determinada no tenga ninguna actualización mientras que otras propiedades sí la tengan. Si se solicita None, no se informará de ningún valor cuando la propiedad especificada no tenga ninguna actualización mientras que otras propiedades sí la tengan.
El valor por defecto es Previous.
STRING
oldestFirst
Recuperar de los registros más antiguos o más recientes. El valor por defecto es False.
BOOLEAN
query
Criterios de consulta adicionales para filtrar datos.
Para obtener más información, consulte Parámetro de consulta para servicios de consulta.
QUERY
returnedMetadata
Permite definir las columnas adicionales que se pueden solicitar además de nombre de propiedad, fecha y hora y valor de propiedad.
El valor por defecto es .Quality.
STRING
Salida
Nombre del parámetro
Descripción
Tipo base
result
Se devuelve una infotable en la que se incluye la lista de valores históricos de las propiedades solicitadas.
INFOTABLE
Ejemplo
En el siguiente ejemplo, Thing1 tiene las propiedades Prop1 y Prop2 con valores introducidos en el siguiente orden:
Entidad
Prop1
Prop2
Thing1
1
2
11
22
En la siguiente consulta, la infotable resultante contendrá fecha y hora, Prop1, Prop1_Quality, Prop2 y Prop2_quality:
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "Prop2"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);

// result: INFOTABLE dataShape: ""
let result = Things["Thing1"].QueryNamedPropertyHistory({
propertyNames: propertyNamesInfoTable,
maxItems: 5,
startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
endDate: Date.now(),
quality: 'GOOD|BAD',
fillOption: 'Previous',
oldestFirst: false,
query: "{ \"sorts\": [{\"fieldName\": \"Prop1\"}]}",
returnedMetadata: 'Quality'
});
En la siguiente consulta, la infotable resultante contendrá fecha y hora, Prop1 y Prop2:
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "Prop2"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);

// result: INFOTABLE dataShape: ""
let result = Things["Thing1"].QueryNamedPropertyHistory({
propertyNames: propertyNamesInfoTable,
maxItems: 5,
startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
endDate: Date.now(),
quality: 'GOOD|BAD',
fillOption: 'None',
oldestFirst: false,
query: "{ \"sorts\": [{\"fieldName\": \"Prop1\"}]}",
returnedMetadata: 'Quality'
});
¿Fue esto útil?