module.exports = function(RED) { "use strict"; var notifier = require('node-notifier'); var path = require('path'); var fs = require('fs'); var image = path.join(__dirname, "/node-red.png"); function NotifyNode(n) { RED.nodes.createNode(this,n); this.title = n.title; var node = this; node.on("input",function(msg) { var title = node.title || msg.topic; if (typeof msg.payload === 'object') { msg.payload = JSON.stringify(msg.payload); } var icon = image; if (msg.icon) { if (fs.existsSync(msg.icon)) { icon = msg.icon; } else { node.error("Bad Icon file: "+msg.icon,msg); } } var icon = msg.icon || image; if (typeof(title) !== 'undefined') { notifier.notify({ message:msg.payload, title:title, icon:icon }); } else { notifier.notify({ message:msg.payload, icon:imagefile }); } }); } RED.nodes.registerType("nnotify",NotifyNode); }