@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
110 lines • 6.67 kB
JavaScript
"use strict";
/**
* Runs the Monitoring Objects Configuration
* @packageDocumentation
*
* @version 0.0.0-alpha.0
* @date 2020-04-18
* @author Mittag, Jörg (Lawo) <joerg.mittag@lawo.com>
* @license SPDX-License-Identifier: MIT
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.runMosConfig = void 0;
/**
* Runs the Monitoring Objects Configuration
*
* @param config The DMV Configuration
* @param master An open VMatrix connection to the cluster master
*/
async function runMosConfig({ monitoringObjects: mos }, master) {
console.log('Configuring Monitoring Objects');
for (let idx = 0; idx < mos.length; idx++) {
await master.cluster.global.configuration.monitoring_objects.create_row({
name: `MO ${idx}`,
index: idx,
});
}
/*
await Promise.all(
mos.map(
(_, idx) =>
master.cluster.global.configuration.monitoring_objects.create_row(
{
"name": `MO ${idx}`,
"index": idx,
}
)
)
);
*/
let i = 0;
for (const { audio, video: { alarms: { notAssignedSource = true, lostSource = true, unexpectedSourceStandard = { enable: true, videoStandard: 'HD1080i50' }, tallySource = false, frozenSource = {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000,
}, blackSource = {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000,
}, }, } = {
alarms: {
notAssignedSource: true,
lostSource: true,
unexpectedSourceStandard: {
enable: true,
videoStandard: 'HD1080i50',
},
tallySource: false,
frozenSource: {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000,
},
blackSource: {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000,
},
},
}, } of mos) {
await master.cluster.global.configuration.monitoring_objects.row(i).video.row(0).alarms.not_assigned_source.write({ enable: notAssignedSource });
await master.cluster.global.configuration.monitoring_objects.row(i).video.row(0).alarms.lost_source.write({ enable: lostSource });
await master.cluster.global.configuration.monitoring_objects.row(i).video.row(0).alarms.unexpected_source_standard.write({ enable: unexpectedSourceStandard.enable ?? true, video_standard: unexpectedSourceStandard.videoStandard ?? 'HD1080i50' });
await master.cluster.global.configuration.monitoring_objects.row(i).video.row(0).alarms.tally_source.write({ enable: tallySource ?? false });
await master.cluster.global.configuration.monitoring_objects.row(i).video.row(0).alarms.frozen_source.write({ enable: frozenSource.enable ?? true, activate_duration: frozenSource.activateDuration ?? 2000000000, deactivate_duration: frozenSource.deactivateDuration ?? 1000000000 });
await master.cluster.global.configuration.monitoring_objects.row(i).video.row(0).alarms.black_source.write({ enable: blackSource.enable ?? true, activate_duration: blackSource.activateDuration ?? 2000000000, deactivate_duration: blackSource.deactivateDuration ?? 1000000000 });
await audio.flatMap(({ channels: { start = 0, num = 8 }, alarms: { notAssignedSource = true, lostSource = true, unexpectedSourceStandard = true, tallySource = false, silentSource = {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000, level: -60,
}, overRangeSource = {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000, level: -3,
}, underRangeSource = {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000, level: -40,
}, } = {
notAssignedSource: true,
lostSource: true,
unexpectedSourceStandard: true,
tallySource: false,
silentSource: {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000, level: -60,
},
overRangeSource: {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000, level: -3,
},
underRangeSource: {
enable: true, activateDuration: 2000000000, deactivateDuration: 1000000000, level: -40,
},
}, }, j) => [
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).channel_id_start.write(start),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).channels_num.write(num),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.not_assigned_source.write({ enable: notAssignedSource }),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.lost_source.write({ enable: lostSource }),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.unexpected_source_standard.write({ enable: unexpectedSourceStandard }),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.tally_source.write({ enable: tallySource }),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.silent_source.write({
enable: silentSource.enable ?? true, activate_duration: silentSource.activateDuration ?? 2000000000, deactivate_duration: silentSource.deactivateDuration ?? 1000000000, level: silentSource.level ?? -60,
}),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.over_range_source.write({
enable: overRangeSource.enable ?? true, activate_duration: overRangeSource.activateDuration ?? 2000000000, deactivate_duration: overRangeSource.deactivateDuration ?? 1000000000, level: overRangeSource.level ?? -3,
}),
master.cluster.global.configuration.monitoring_objects.row(i).audio.row(j).alarms.under_range_source.write({
enable: underRangeSource.enable ?? true, activate_duration: underRangeSource.activateDuration ?? 2000000000, deactivate_duration: underRangeSource.deactivateDuration ?? 1000000000, level: underRangeSource.level ?? -40,
}),
]);
i++;
}
}
exports.runMosConfig = runMosConfig;
exports.default = runMosConfig;
//# sourceMappingURL=mos.js.map