modem-info.js
963 Bytes
const MAX_LAST_DATA_AGE_MS = 2 * 60 * 1000;
const INTERVAL_BETWEEN_IDLE_CHECK_MS = 30 * 1000;
const config = require('komodo-sdk/config');
const logger = require('komodo-sdk/logger');
const modemInfo = {
device: config.modem.device,
manufacturer: null,
model: null,
imei: null,
imsi: null,
cops: null,
networkId: null,
networkName: null,
signalStrength: null,
signalStrengthTs: null,
signalStrengthTsReadable: null,
startTime: new Date(),
lastWriteTs: null,
lastReadTs: null,
};
if (!config.disable_idle_check) {
setInterval(() => {
const deltaMs = new Date() - Math.max(modemInfo.lastWriteTs, modemInfo.startTime);
if (deltaMs >= (config.max_last_data_age_ms || MAX_LAST_DATA_AGE_MS)) {
logger.warn(`Modem idle for ${deltaMs} ms. Modem stucked? Terminating!`);
process.exit(1);
}
}, INTERVAL_BETWEEN_IDLE_CHECK_MS);
}
module.exports = modemInfo;