UNPKG

node-red-contrib-kitra

Version:

kitra-com node-red module

48 lines (41 loc) 1.4 kB
module.exports = function(RED) { function MicNotiCatch(config) { RED.nodes.createNode(this,config); var node = this; var util = require("../kitra_util.js"); this.on('input', function(msg) { if(!msg.payload) return; msg.payload = msg.payload.toString(); var calc_chks = util.getChecksum(msg.payload.substring(1,msg.payload.length-5)); var pack_chks = msg.payload.substring(msg.payload.length-4,msg.payload.length-2); if(calc_chks != pack_chks) return; //6.8.1 Read state response if((msg.payload.indexOf("$KITRA,681,") > -1)) { var splitted = msg.payload.split(","); msg.angle = parseInt(splitted[2].split("*")[0]); node.send([msg, null, null]); return; } //6.8.2 Notification source localization if((msg.payload.indexOf("$KITRA,682,") > -1)) { var splitted = msg.payload.split(","); msg.angle = parseInt(splitted[2].split("*")[0]); node.send([null, msg, null]); return; } //6.8.4 Notification sound level if((msg.payload.indexOf("$KITRA,684,") > -1)) { var splitted = msg.payload.split(","); msg.level = parseInt(splitted[2].split("*")[0]); node.send([null, null, msg]); return; } }); } RED.nodes.registerType("mic_notification_catch",MicNotiCatch); }