pbc/libs/blinky.js

34 lines
1 KiB
JavaScript

const logger = require('./logger.js');
const { httpPOST } = require('./util.js');
let enabled;
async function initialize() {
enabled = global.config.blinky !== undefined &&
global.config.blinky.enabled &&
global.config.blinky.host !== undefined &&
global.config.blinky.port !== undefined &&
global.config.blinky.events !== undefined;
}
async function handleEvent(eventName) {
if (!enabled || eventName === undefined) {
return;
}
const event = global.config.blinky.events[eventName];
if (event === undefined || event.mode === undefined) {
return;
}
logger.info('handling blinky event \'' + eventName + '\'...');
try {
await httpPOST(global.config.blinky.host, global.config.blinky.port, event.mode, event.args);
logger.debug('blinky event \'' + eventName + '\' successfully handled');
} catch (err) {
logger.error('blinky event \'' + eventName + '\' encountered an error: ' + err);
}
}
module.exports = {
initialize,
handleEvent
}