UNPKG

node-opcua-aggregates

Version:

pure nodejs OPCUA SDK - module aggregates

31 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDurationBadData = getDurationBadData; const node_opcua_data_value_1 = require("node-opcua-data-value"); const node_opcua_variant_1 = require("node-opcua-variant"); const node_opcua_status_code_1 = require("node-opcua-status-code"); const common_1 = require("./common"); const calculate_bad_good_1 = require("./calculate_bad_good"); function calculateDurationBad(interval, options) { const { durationBad, durationUnknown, statusCode } = (0, calculate_bad_good_1.calculateBadAndGood)(interval, options); if (durationUnknown > 0 && durationBad === 0) { return new node_opcua_data_value_1.DataValue({ sourceTimestamp: interval.startTime, statusCode: node_opcua_status_code_1.StatusCodes.Bad }); } const value = durationBad; if (statusCode.isGoodish()) { return new node_opcua_data_value_1.DataValue({ sourceTimestamp: interval.startTime, statusCode, value: { dataType: node_opcua_variant_1.DataType.Double, value } }); } return new node_opcua_data_value_1.DataValue({ sourceTimestamp: interval.startTime, statusCode, value: { dataType: node_opcua_variant_1.DataType.Null } }); } /**Retrieve the percentage of data (0 to 100) in the interval which has Bad StatusCode. */ function getDurationBadData(node, processingInterval, startDate, endDate, callback) { (0, common_1.getAggregateData)(node, processingInterval, startDate, endDate, calculateDurationBad, callback); } //# sourceMappingURL=duration_bad.js.map