// If you use this as a template, update the copyright with your own name. // Sample Node-RED node file module.exports = function(RED) { "use strict"; // require any external libraries we may need.... //var foo = require("foo-library"); // The main node definition - most things happen in here function SampleNode(n) { // Create a RED node RED.nodes.createNode(this,n); // Store local copies of the node configuration (as defined in the .html) this.topic = n.topic; // copy "this" object in case we need it in context of callbacks of other functions. var node = this; // Do whatever you need to do in here - declare callbacks etc // Note: this sample doesn't do anything much - it will only send // this message once at startup... // Look at other real nodes for some better ideas of what to do.... var msg = {}; msg.topic = this.topic; msg.payload = "Hello world !" // send out the message to the rest of the workspace. // ... this message will get sent at startup so you may not see it in a debug node. this.send(msg); // respond to inputs.... this.on('input', function (msg) { node.warn("I saw a payload: "+msg.payload); // in this example just send it straight on... should process it here really node.send(msg); }); this.on("close", function() { // Called when the node is shutdown - eg on redeploy. // Allows ports to be closed, connections dropped etc. // eg: node.client.disconnect(); }); } // Register the node by name. This must be called before overriding any of the // Node functions. RED.nodes.registerType("sample",SampleNode); }