diff --git a/dist/CameraRunner.js b/dist/CameraRunner.js index 5257f35..467922c 100644 --- a/dist/CameraRunner.js +++ b/dist/CameraRunner.js @@ -42,6 +42,8 @@ var Utils_1 = require("./Utils"); var PREFIX = "[CameraRunner]"; var CameraRunner = /** @class */ (function () { function CameraRunner(Main) { + this.errorTriggerStartupDelay = 10000; + this.bootTime = Date.now(); this.state = 'DISCONNECTED'; this.processStatus = { state: 'STOPPED', @@ -92,6 +94,9 @@ var CameraRunner = /** @class */ (function () { this.error = error; this.state = state; this.broadcastState(); + if (error != null && + Date.now() - this.bootTime > this.errorTriggerStartupDelay) + this._Main.Twilio.sendError('CameraRunner', error); if (state == 'FAILED' || state == 'DISCONNECTED') console.warn(PREFIX, message !== null && message !== void 0 ? message : error); else @@ -175,6 +180,7 @@ var CameraRunner = /** @class */ (function () { reconnectionDelay: 2000, }); this.socket.on('connect', function () { + _this._Main.Twilio.resetError('CameraRunner'); _this.setInfo('Connected', null, 'CONNECTED'); _this.startPollClock(); }); diff --git a/dist/CameraRunner.js.map b/dist/CameraRunner.js.map index 7be5a67..6098210 100644 --- a/dist/CameraRunner.js.map +++ b/dist/CameraRunner.js.map @@ -1 +1 @@ -{"version":3,"file":"CameraRunner.js","sourceRoot":"","sources":["../src/CameraRunner.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"CameraRunner.js","sourceRoot":"","sources":["../src/CameraRunner.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Configuration/DefaultConfiguration.js b/dist/Configuration/DefaultConfiguration.js index b44ffd3..cc2741a 100644 --- a/dist/Configuration/DefaultConfiguration.js +++ b/dist/Configuration/DefaultConfiguration.js @@ -25,6 +25,13 @@ exports.DefaultConfiguration = { }, pollInterval: 5000, }, + twilio: { + accountSid: '', + authToken: '', + fromNumber: '', + toNumbers: [], + aggregateTimeout: 15000, + }, support: { telephone: '+31613392837', }, diff --git a/dist/Configuration/DefaultConfiguration.js.map b/dist/Configuration/DefaultConfiguration.js.map index 7f944d8..d8a51c5 100644 --- a/dist/Configuration/DefaultConfiguration.js.map +++ b/dist/Configuration/DefaultConfiguration.js.map @@ -1 +1 @@ -{"version":3,"file":"DefaultConfiguration.js","sourceRoot":"","sources":["../../src/Configuration/DefaultConfiguration.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAW;IAC3C,SAAS,EAAE;QACV,IAAI,EAAE,IAAI;KACV;IACD,KAAK,EAAE;QACN,UAAU,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;SAClB;QAED,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,iBAAiB,EAAE,IAAI;QACvB,wBAAwB,EAAE,IAAI;KAC9B;IACD,YAAY,EAAE;QACb,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,YAAY,EAAE,IAAI;KAClB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,cAAc;KACzB;CACD,CAAC"} \ No newline at end of file +{"version":3,"file":"DefaultConfiguration.js","sourceRoot":"","sources":["../../src/Configuration/DefaultConfiguration.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAW;IAC3C,SAAS,EAAE;QACV,IAAI,EAAE,IAAI;KACV;IACD,KAAK,EAAE;QACN,UAAU,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;SAClB;QAED,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,iBAAiB,EAAE,IAAI;QACvB,wBAAwB,EAAE,IAAI;KAC9B;IACD,YAAY,EAAE;QACb,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,YAAY,EAAE,IAAI;KAClB;IACD,MAAM,EAAE;QACP,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,KAAK;KACvB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,cAAc;KACzB;CACD,CAAC"} \ No newline at end of file diff --git a/dist/Main.js b/dist/Main.js index 9932f2f..9e9c8da 100644 --- a/dist/Main.js +++ b/dist/Main.js @@ -44,11 +44,13 @@ var ConfigurationManager_1 = require("./Configuration/ConfigurationManager"); var CameraRunner_1 = require("./CameraRunner"); var UnityRunner_1 = require("./Unity/UnityRunner"); var UnityWebSocket_1 = require("./Unity/UnityWebSocket"); +var Twilio_1 = require("./Twilio"); var Main = /** @class */ (function () { function Main() { this.dataPath = (0, path_1.join)((0, os_1.homedir)(), 'MorphixProductions', 'NTSHControl'); this.ConfigurationManager = new ConfigurationManager_1.ConfigurationManager(this); this.WebServer = new WebServer_1.WebServer(this); + this.Twilio = new Twilio_1.TwilioHandler(this); this.CameraRunner = new CameraRunner_1.CameraRunner(this); this.UnityRunner = new UnityRunner_1.UnityRunner(this); this.UnityWebSocket = new UnityWebSocket_1.UnityWebSocket(this); @@ -65,8 +67,11 @@ var Main = /** @class */ (function () { return [4 /*yield*/, this.WebServer.listen()]; case 2: _b.sent(); - return [4 /*yield*/, this.CameraRunner.connect()]; + return [4 /*yield*/, this.Twilio.load()]; case 3: + _b.sent(); + return [4 /*yield*/, this.CameraRunner.connect()]; + case 4: _b.sent(); setTimeout(function () { _this.UnityRunner.start(); @@ -93,10 +98,12 @@ var Main = /** @class */ (function () { _this.CameraRunner.sendCommand(doReboot ? 'reboot' : 'restart', function (response) { if (!response.succeed) { console.error('Failed to reboot CameraRunner:', response.message); + _this.Twilio.sendError('CameraRunner', "Failed to reboot CameraRunner: ".concat(response.message)); resolve(false); } else { console.log('CameraRunner rebooted successfully.'); + _this.Twilio.sendError('CameraRunner', null); resolve(true); } }); diff --git a/dist/Main.js.map b/dist/Main.js.map index e503f4b..ea3d842 100644 --- a/dist/Main.js.map +++ b/dist/Main.js.map @@ -1 +1 @@ -{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4B;AAC5B,mDAAkD;AAClD,yBAA6B;AAC7B,6EAG8C;AAC9C,+CAA8C;AAC9C,mDAAkD;AAClD,yDAAwD;AAExD;IAAA;QACC,aAAQ,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAEhE,yBAAoB,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QACtD,cAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;QAEhC,iBAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC;QACtC,gBAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QACpC,mBAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;IA6C3C,CAAC;IAzCM,oBAAK,GAAX;;;;;;4BACC,qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAA;;wBAAtC,SAAsC,CAAC;wBACvC,qBAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,qBAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAA;;wBAAjC,SAAiC,CAAC;wBAElC,UAAU,CAAC;4BACV,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;wBAC1B,CAAC,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,mCAAI,CAAC,CAAC,CAAC;;;;;KACnD;IAEK,sBAAO,GAAb;;;;;;;wBACC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAExB,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACvD,OAAO,CAAC,GAAG,CAAC,UAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,qBAAkB,CAAC,CAAC;wBACxD,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO;gCACzC,KAAI,CAAC,YAAY,CAAC,WAAW,CAC5B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC/B,UAAC,QAAgD;oCAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wCACvB,OAAO,CAAC,KAAK,CACZ,gCAAgC,EAChC,QAAQ,CAAC,OAAO,CAChB,CAAC;wCACF,OAAO,CAAC,KAAK,CAAC,CAAC;oCAChB,CAAC;yCAAM,CAAC;wCACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;wCACnD,OAAO,CAAC,IAAI,CAAC,CAAC;oCACf,CAAC;gCACF,CAAC,CACD,CAAC;4BACH,CAAC,CAAC,EAAA;;wBAhBI,OAAO,GAAG,SAgBd;wBACF,IAAI,CAAC,OAAO;4BAAE,sBAAO;wBAErB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAA;;wBAA9B,SAA8B,CAAC;wBAE/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;;;;KACjC;IACF,WAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,oBAAI"} \ No newline at end of file +{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Twilio.js b/dist/Twilio.js new file mode 100644 index 0000000..ffbdb01 --- /dev/null +++ b/dist/Twilio.js @@ -0,0 +1,116 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); + return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TwilioHandler = void 0; +var PREFIX = '[Twilio]'; +var TwilioHandler = /** @class */ (function () { + function TwilioHandler(Main) { + this.lastErrors = new Map(); + this.errorLog = []; + this._Main = Main; + } + TwilioHandler.prototype.load = function () { + this.client = require('twilio')(this._Main.Config.twilio.accountSid, this._Main.Config.twilio.authToken); + }; + TwilioHandler.prototype.resetError = function (category) { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + if (!this.lastErrors.has(category)) + return [2 /*return*/]; + this.lastErrors.delete(category); + return [2 /*return*/]; + }); + }); + }; + TwilioHandler.prototype.sendError = function (category, error) { + return __awaiter(this, void 0, void 0, function () { + var _this = this; + return __generator(this, function (_a) { + if (this.lastErrors.get(category) === error) + return [2 /*return*/]; + this.lastErrors.set(category, error); + if (error == null) + return [2 /*return*/]; + this.errorLog.push("".concat(category, ": ").concat(error)); + clearTimeout(this.errorTimeout); + this.errorTimeout = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () { + var errorMessage, promises; + var _this = this; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + errorMessage = this.errorLog + .map(function (error) { return "- ".concat(error); }) + .join('\n'); + this.errorLog = []; + console.log(PREFIX, "Sending to Twilio:\n", errorMessage); + promises = this._Main.Config.twilio.toNumbers.map(function (toNumber) { return _this.sendMessage(toNumber, errorMessage); }); + return [4 /*yield*/, Promise.all(promises)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }, 15000); + return [2 /*return*/]; + }); + }); + }; + TwilioHandler.prototype.sendMessage = function (to, message) { + var _this = this; + return new Promise(function (resolve) { + _this.client.messages + .create({ + body: message, + from: "".concat(_this._Main.Config.twilio.fromNumber), + to: to, + }) + .then(function (message) { + console.log("Twilio message sent with SID: ".concat(message.sid)); + resolve(true); + }) + .catch(function (error) { + console.error('Error sending Twilio message:', error); + resolve(false); + }); + }); + }; + return TwilioHandler; +}()); +exports.TwilioHandler = TwilioHandler; +//# sourceMappingURL=Twilio.js.map \ No newline at end of file diff --git a/dist/Twilio.js.map b/dist/Twilio.js.map new file mode 100644 index 0000000..0f774eb --- /dev/null +++ b/dist/Twilio.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Twilio.js","sourceRoot":"","sources":["../src/Twilio.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Unity/UnityRunner.js b/dist/Unity/UnityRunner.js index 45cfb7f..8217222 100644 --- a/dist/Unity/UnityRunner.js +++ b/dist/Unity/UnityRunner.js @@ -54,6 +54,7 @@ var LOG_OUTPUT = !process.argv.includes('--no-output-log'); var UnityRunner = /** @class */ (function () { function UnityRunner(Main) { this.message = 'Awaiting startup delay...'; + this.bootTime = Date.now(); this.startTime = null; this.output = { current: [], last: [] }; this.restartTriggered = false; @@ -98,6 +99,8 @@ var UnityRunner = /** @class */ (function () { this.error = error; this.state = state; this.broadcastState(); + if (error != null) + this._Main.Twilio.sendError('UnityRunner', error); this.output.current.push("[".concat(new Date().toLocaleTimeString('nl-NL'), "] [System] [").concat(state, "] ").concat(message !== null && message !== void 0 ? message : error)); if (state == 'PROBLEM' || state == 'STOPPED') console.warn(PREFIX, message !== null && message !== void 0 ? message : error); @@ -300,6 +303,7 @@ var UnityRunner = /** @class */ (function () { ((_b = _this.process) === null || _b === void 0 ? void 0 : _b.exitCode) != null || _this.restartTriggered) return; + _this._Main.Twilio.resetError('UnityRunner'); _this.setInfo('Running', '', 'RUNNING'); _this._Main.UnityWebSocket.connect(); }, 5000); diff --git a/dist/Unity/UnityRunner.js.map b/dist/Unity/UnityRunner.js.map index 3dceafc..37482c6 100644 --- a/dist/Unity/UnityRunner.js.map +++ b/dist/Unity/UnityRunner.js.map @@ -1 +1 @@ -{"version":3,"file":"UnityRunner.js","sourceRoot":"","sources":["../../src/Unity/UnityRunner.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"UnityRunner.js","sourceRoot":"","sources":["../../src/Unity/UnityRunner.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Unity/UnityWebSocket.js b/dist/Unity/UnityWebSocket.js index b413760..0ac2033 100644 --- a/dist/Unity/UnityWebSocket.js +++ b/dist/Unity/UnityWebSocket.js @@ -1,4 +1,15 @@ "use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -44,6 +55,7 @@ var UnityWebSocket = /** @class */ (function () { function UnityWebSocket(Main) { this.state = 'DISCONNECTED'; this.message = 'Waiting for process...'; + this.errorTriggerStartupDelay = 1000; this.parameters = { timelineWatching: false, timelineStanding: false, @@ -125,6 +137,8 @@ var UnityWebSocket = /** @class */ (function () { this.error = error; this.state = state; this.broadcastState(); + if (error != null) + this._Main.Twilio.sendError('UnityWebSocket', error); if (state == 'FAILED' || state == 'DISCONNECTED') console.warn(PREFIX, message !== null && message !== void 0 ? message : error); else @@ -158,7 +172,9 @@ var UnityWebSocket = /** @class */ (function () { this.parameters.outOfService = (_a = message.heartbeat.showOutOfService) !== null && _a !== void 0 ? _a : false; this.parameters.sensors = message.heartbeat.dataSensors; - this.parameters.sliders = message.heartbeat.dataSliders; + this.parameters.sliders = message.heartbeat.dataSliders.map(function (slider) { + return __assign(__assign({}, slider), { decimalPlaces: slider.min == 0 && slider.max == 1 ? 2 : null }); + }); this.broadcastState(); break; case 'response_camera_frame': @@ -238,6 +254,7 @@ var UnityWebSocket = /** @class */ (function () { }); this.socket.on('open', function () { _this.startFetchClocks(); + _this._Main.Twilio.resetError('UnityWebSocket'); _this.setInfo('Connected', null, 'CONNECTED'); }); this.socket.on('close', function () { diff --git a/dist/Unity/UnityWebSocket.js.map b/dist/Unity/UnityWebSocket.js.map index 93358f0..ab4fb19 100644 --- a/dist/Unity/UnityWebSocket.js.map +++ b/dist/Unity/UnityWebSocket.js.map @@ -1 +1 @@ -{"version":3,"file":"UnityWebSocket.js","sourceRoot":"","sources":["../../src/Unity/UnityWebSocket.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"UnityWebSocket.js","sourceRoot":"","sources":["../../src/Unity/UnityWebSocket.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c38c3ab..877de38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "fs-extra": "^11.3.2", "socket.io": "^4.8.1", "socket.io-client": "^4.8.1", + "twilio": "^5.10.3", "ws": "^8.18.3" } }, @@ -181,6 +182,35 @@ "node": ">= 0.6" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", @@ -210,6 +240,12 @@ "node": ">=18" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -248,6 +284,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/content-disposition": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", @@ -300,6 +348,12 @@ "node": ">= 0.10" } }, + "node_modules/dayjs": { + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -317,6 +371,15 @@ } } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -340,6 +403,15 @@ "node": ">= 0.4" } }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -546,6 +618,21 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -620,6 +707,63 @@ "node": ">= 0.8" } }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -728,6 +872,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -765,6 +924,19 @@ "node": ">= 0.8" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -810,6 +982,91 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -950,6 +1207,12 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", @@ -1047,6 +1310,24 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/scmp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==", + "license": "BSD-3-Clause" + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", @@ -1368,6 +1649,24 @@ "node": ">=0.6" } }, + "node_modules/twilio": { + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/twilio/-/twilio-5.10.3.tgz", + "integrity": "sha512-msve3uADprpG+LRlthOxBUJWZDczGe+mdzotG7Wluaf8nn8fSIK0n2fX3INR26Xedeea/azmAdLK0c2rJhIHpQ==", + "license": "MIT", + "dependencies": { + "axios": "^1.12.0", + "dayjs": "^1.11.9", + "https-proxy-agent": "^5.0.0", + "jsonwebtoken": "^9.0.2", + "qs": "^6.9.4", + "scmp": "^2.1.0", + "xmlbuilder": "^13.0.2" + }, + "engines": { + "node": ">=14.0" + } + }, "node_modules/type-is": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", @@ -1442,6 +1741,15 @@ } } }, + "node_modules/xmlbuilder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", + "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, "node_modules/xmlhttprequest-ssl": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", @@ -1451,4 +1759,4 @@ } } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 834dd4f..524f045 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "fs-extra": "^11.3.2", "socket.io": "^4.8.1", "socket.io-client": "^4.8.1", + "twilio": "^5.10.3", "ws": "^8.18.3" } -} \ No newline at end of file +} diff --git a/src/CameraRunner.ts b/src/CameraRunner.ts index 6a0325d..e69a464 100644 --- a/src/CameraRunner.ts +++ b/src/CameraRunner.ts @@ -8,6 +8,9 @@ export class CameraRunner { socket: Socket; + errorTriggerStartupDelay = 10000; + bootTime = Date.now(); + state: ServiceState = 'DISCONNECTED'; message?: string; error?: string; @@ -76,6 +79,12 @@ export class CameraRunner { this.state = state; this.broadcastState(); + if ( + error != null && + Date.now() - this.bootTime > this.errorTriggerStartupDelay + ) + this._Main.Twilio.sendError('CameraRunner', error); + if (state == 'FAILED' || state == 'DISCONNECTED') console.warn(PREFIX, message ?? error); else console.log(PREFIX, message ?? error); @@ -147,6 +156,7 @@ export class CameraRunner { }); this.socket.on('connect', () => { + this._Main.Twilio.resetError('CameraRunner'); this.setInfo('Connected', null, 'CONNECTED'); this.startPollClock(); }); diff --git a/src/Configuration/ConfigurationManager.ts b/src/Configuration/ConfigurationManager.ts index a9b20da..502d658 100644 --- a/src/Configuration/ConfigurationManager.ts +++ b/src/Configuration/ConfigurationManager.ts @@ -102,6 +102,7 @@ export interface Config { webServer: ConfigWebServer; unity: ConfigUnity; cameraRunner: ConfigCameraRunner; + twilio: ConfigTwilio; support: ConfigSupport; } @@ -134,6 +135,14 @@ export interface ConfigCameraRunner { pollInterval: number; } +export interface ConfigTwilio { + accountSid: string; + authToken: string; + fromNumber: string; + toNumbers: string[]; + aggregateTimeout: number; +} + export interface ConfigSupport { telephone: string; } diff --git a/src/Configuration/DefaultConfiguration.ts b/src/Configuration/DefaultConfiguration.ts index f6593dc..c3cc173 100644 --- a/src/Configuration/DefaultConfiguration.ts +++ b/src/Configuration/DefaultConfiguration.ts @@ -27,6 +27,13 @@ export const DefaultConfiguration: Config = { pollInterval: 5000, }, + twilio: { + accountSid: '', + authToken: '', + fromNumber: '', + toNumbers: [], + aggregateTimeout: 15000, + }, support: { telephone: '+31613392837', }, diff --git a/src/Main.ts b/src/Main.ts index 36fe47a..aa0aee8 100644 --- a/src/Main.ts +++ b/src/Main.ts @@ -8,12 +8,14 @@ import { import { CameraRunner } from './CameraRunner'; import { UnityRunner } from './Unity/UnityRunner'; import { UnityWebSocket } from './Unity/UnityWebSocket'; +import { TwilioHandler } from './Twilio'; export class Main { dataPath = join(homedir(), 'MorphixProductions', 'NTSHControl'); ConfigurationManager = new ConfigurationManager(this); WebServer = new WebServer(this); + Twilio = new TwilioHandler(this); CameraRunner = new CameraRunner(this); UnityRunner = new UnityRunner(this); @@ -24,6 +26,7 @@ export class Main { async start() { await this.ConfigurationManager.load(); await this.WebServer.listen(); + await this.Twilio.load(); await this.CameraRunner.connect(); @@ -47,9 +50,14 @@ export class Main { 'Failed to reboot CameraRunner:', response.message ); + this.Twilio.sendError( + 'CameraRunner', + `Failed to reboot CameraRunner: ${response.message}` + ); resolve(false); } else { console.log('CameraRunner rebooted successfully.'); + this.Twilio.sendError('CameraRunner', null); resolve(true); } } diff --git a/src/Twilio.ts b/src/Twilio.ts new file mode 100644 index 0000000..cec4066 --- /dev/null +++ b/src/Twilio.ts @@ -0,0 +1,71 @@ +import { Main } from './Main'; + +const PREFIX = '[Twilio]'; +export class TwilioHandler { + private _Main: Main; + + client; + + constructor(Main: Main) { + this._Main = Main; + } + + load() { + this.client = require('twilio')( + this._Main.Config.twilio.accountSid, + this._Main.Config.twilio.authToken + ); + } + + async resetError(category: TwilioCategories) { + if (!this.lastErrors.has(category)) return; + this.lastErrors.delete(category); + } + + private lastErrors: Map = new Map(); + private errorLog: string[] = []; + private errorTimeout: NodeJS.Timeout; + async sendError(category: TwilioCategories, error: string) { + if (this.lastErrors.get(category) === error) return; + + this.lastErrors.set(category, error); + if (error == null) return; + + this.errorLog.push(`${category}: ${error}`); + clearTimeout(this.errorTimeout); + this.errorTimeout = setTimeout(async () => { + const errorMessage = this.errorLog + .map((error) => `- ${error}`) + .join('\n'); + this.errorLog = []; + + console.log(PREFIX, `Sending to Twilio:\n`, errorMessage); + + const promises = this._Main.Config.twilio.toNumbers.map( + (toNumber) => this.sendMessage(toNumber, errorMessage) + ); + await Promise.all(promises); + }, 15000); + } + + sendMessage(to: string, message: string) { + return new Promise((resolve) => { + this.client.messages + .create({ + body: message, + from: `${this._Main.Config.twilio.fromNumber}`, + to: to, + }) + .then((message: any) => { + console.log(`Twilio message sent with SID: ${message.sid}`); + resolve(true); + }) + .catch((error: any) => { + console.error('Error sending Twilio message:', error); + resolve(false); + }); + }); + } +} + +type TwilioCategories = 'CameraRunner' | 'UnityRunner' | 'UnityWebSocket'; diff --git a/src/Unity/UnityRunner.ts b/src/Unity/UnityRunner.ts index 7387d87..d088954 100644 --- a/src/Unity/UnityRunner.ts +++ b/src/Unity/UnityRunner.ts @@ -14,6 +14,8 @@ export class UnityRunner { message?: string = 'Awaiting startup delay...'; error?: string; + bootTime = Date.now(); + startTime: number = null; output: { current: string[]; last: string[] } = { current: [], last: [] }; @@ -71,6 +73,8 @@ export class UnityRunner { this.state = state; this.broadcastState(); + if (error != null) this._Main.Twilio.sendError('UnityRunner', error); + this.output.current.push( `[${new Date().toLocaleTimeString('nl-NL')}] [System] [${state}] ${ message ?? error @@ -280,6 +284,7 @@ export class UnityRunner { ) return; + this._Main.Twilio.resetError('UnityRunner'); this.setInfo('Running', '', 'RUNNING'); this._Main.UnityWebSocket.connect(); }, 5000); diff --git a/src/Unity/UnityWebSocket.ts b/src/Unity/UnityWebSocket.ts index 1b65643..9843914 100644 --- a/src/Unity/UnityWebSocket.ts +++ b/src/Unity/UnityWebSocket.ts @@ -10,6 +10,8 @@ export class UnityWebSocket { message?: string = 'Waiting for process...'; error?: string; + errorTriggerStartupDelay = 1000; + parameters: UnityParameters = { timelineWatching: false, timelineStanding: false, @@ -113,6 +115,8 @@ export class UnityWebSocket { this.state = state; this.broadcastState(); + if (error != null) this._Main.Twilio.sendError('UnityWebSocket', error); + if (state == 'FAILED' || state == 'DISCONNECTED') console.warn(PREFIX, message ?? error); else console.log(PREFIX, message ?? error); @@ -146,7 +150,15 @@ export class UnityWebSocket { this.parameters.outOfService = message.heartbeat.showOutOfService ?? false; this.parameters.sensors = message.heartbeat.dataSensors; - this.parameters.sliders = message.heartbeat.dataSliders; + this.parameters.sliders = message.heartbeat.dataSliders.map( + (slider) => { + return { + ...slider, + decimalPlaces: + slider.min == 0 && slider.max == 1 ? 2 : null, + }; + } + ); this.broadcastState(); break; @@ -226,6 +238,8 @@ export class UnityWebSocket { this.socket.on('open', () => { this.startFetchClocks(); + this._Main.Twilio.resetError('UnityWebSocket'); + this.setInfo('Connected', null, 'CONNECTED'); });