UNPKG

node-red-contrib-yale-alarm

Version:

Integration to Yale Alarm System. This (1st) release just does basic get/set but planning to provide richer set in next version

34 lines (30 loc) 1.12 kB
module.exports = function (RED) { const yalealarm = require('yalealarmsystem'); function setStatusNode(config) { RED.nodes.createNode(this, config); this.yaleConfig = RED.nodes.getNode(config.yaleConfig); if (this.yaleConfig) { const node = this; node.on('input', async (msg, send, done) => { yalealarm.setStatus(node.yaleConfig.access_token, msg.payload.state) .then(alarmStatus => { let msg = { topic: "device", payload: { deviceId: this.device, deviceType: "alarm", state: alarmStatus } }; this.send(msg); }) .catch(err => { node.warn(`yalealarmsystem.setStatus returned err:`, err); }) }) } else { node.warn('No config defined'); } } RED.nodes.registerType("set-state", setStatusNode); };