diff --git a/nodes/analysis/72-wordpos.html b/nodes/analysis/72-wordpos.html deleted file mode 100644 index b50156ea2..000000000 --- a/nodes/analysis/72-wordpos.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - diff --git a/nodes/analysis/72-wordpos.js b/nodes/analysis/72-wordpos.js deleted file mode 100644 index 0725cb1ef..000000000 --- a/nodes/analysis/72-wordpos.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var util = require("util"); -var WordPos = require('wordpos'); - -var wordpos = new WordPos(); - -function WordPOSNode(n) { - RED.nodes.createNode(this,n); - this.on("input", function(msg) { - var node = this; - wordpos.getPOS(msg.payload, function (result) { - msg.pos = result; - node.send(msg); - }); - }); -} - -RED.nodes.registerType("wordpos",WordPOSNode); diff --git a/nodes/hardware/76-blinkstick.html b/nodes/hardware/76-blinkstick.html deleted file mode 100644 index 1bef4306f..000000000 --- a/nodes/hardware/76-blinkstick.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - diff --git a/nodes/hardware/76-blinkstick.js b/nodes/hardware/76-blinkstick.js deleted file mode 100644 index cae30ca80..000000000 --- a/nodes/hardware/76-blinkstick.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var blinkstick = require("blinkstick"); - -Object.size = function(obj) { - var size = 0, key; - for (key in obj) { if (obj.hasOwnProperty(key)) size++; } - return size; -}; - -function BlinkStick(n) { - RED.nodes.createNode(this,n); - var p1 = /^\#[A-Fa-f0-9]{6}$/ - var p2 = /[0-9]+,[0-9]+,[0-9]+/ - this.led = blinkstick.findFirst(); // maybe try findAll() (one day) - var node = this; - - this.on("input", function(msg) { - if (msg != null) { - if (Object.size(node.led) !== 0) { - try { - if (p2.test(msg.payload)) { - var rgb = msg.payload.split(","); - node.led.setColor(parseInt(rgb[0])&255, parseInt(rgb[1])&255, parseInt(rgb[2])&255); - } - else { - node.led.setColor(msg.payload.toLowerCase().replace(/\s+/g,'')); - } - } - catch (err) { - node.warn("BlinkStick missing ?"); - node.led = blinkstick.findFirst(); - } - } - else { - //node.warn("No BlinkStick found"); - node.led = blinkstick.findFirst(); - } - } - }); - if (Object.size(node.led) === 0) { - node.error("No BlinkStick found"); - } - -} - -RED.nodes.registerType("blinkstick",BlinkStick); diff --git a/nodes/hardware/77-blink1.html b/nodes/hardware/77-blink1.html deleted file mode 100644 index 00579ce8b..000000000 --- a/nodes/hardware/77-blink1.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - diff --git a/nodes/hardware/77-blink1.js b/nodes/hardware/77-blink1.js deleted file mode 100644 index 236683ed9..000000000 --- a/nodes/hardware/77-blink1.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var Blink1 = require("node-blink1"); - -function Blink1Node(n) { - RED.nodes.createNode(this,n); - this.fade = n.fade||0; - var node = this; - - try { - var p1 = /^\#[A-Fa-f0-9]{6}$/ - var p2 = /[0-9]+,[0-9]+,[0-9]+/ - this.on("input", function(msg) { - if (blink1) { - if (p1.test(msg.payload)) { - // if it is a hex colour string - var r = parseInt(msg.payload.slice(1,3),16); - var g = parseInt(msg.payload.slice(3,5),16); - var b = parseInt(msg.payload.slice(5),16); - if (node.fade == 0) { blink1.setRGB( r, g, b ); } - else { blink1.fadeToRGB(node.fade, r, g, b ); } - } - else if (p2.test(msg.payload)) { - // if it is a r,g,b triple - var rgb = msg.payload.split(','); - if (node.fade == 0) { blink1.setRGB(parseInt(rgb[0])&255, parseInt(rgb[1])&255, parseInt(rgb[2])&255); } - else { blink1.fadeToRGB(node.fade, parseInt(rgb[0])&255, parseInt(rgb[1])&255, parseInt(rgb[2])&255); } - } - else { - // you can do fancy colours by name here if you want... - node.warn("Blink1 : invalid msg : "+msg.payload); - } - } - else { - node.warn("No Blink1 found"); - } - }); - var blink1 = new Blink1.Blink1(); - } - catch(e) { - node.error("No Blink1 found"); - } -} - -RED.nodes.registerType("blink1",Blink1Node); diff --git a/nodes/hardware/78-ledborg.html b/nodes/hardware/78-ledborg.html deleted file mode 100644 index e97da1b0a..000000000 --- a/nodes/hardware/78-ledborg.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - diff --git a/nodes/hardware/78-ledborg.js b/nodes/hardware/78-ledborg.js deleted file mode 100644 index 80f6e3167..000000000 --- a/nodes/hardware/78-ledborg.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var util = require('util'); -var fs = require('fs'); - -// check if /dev/ledborg exists - if not then don't even show the node. -if (!fs.existsSync("/dev/ledborg")) { - util.log("[78-ledborg.js] Error: PiBorg hardware : LedBorg not found"); - return; -} - -function LedBorgNode(n) { - RED.nodes.createNode(this,n); - var p1 = /[0-2][0-2][0-2]/ - var p2 = /^\#[A-Fa-f0-9]{6}$/ - var node = this; - - this.on("input", function(msg) { - if (p1.test(msg.payload)) { - fs.writeFile('/dev/ledborg', msg.payload, function (err) { - if (err) node.warn(msg.payload+" : No LedBorg found"); - }); - } - if (p2.test(msg.payload)) { - var r = Math.floor(parseInt(msg.payload.slice(1,3),16)/88).toString(); - var g = Math.floor(parseInt(msg.payload.slice(3,5),16)/88).toString(); - var b = Math.floor(parseInt(msg.payload.slice(5),16)/88).toString(); - fs.writeFile('/dev/ledborg', r+g+b, function (err) { - if (err) node.warn(r+g+b+" : No LedBorg found"); - }); - } - else { - node.warn("Invalid LedBorg colour code"); - } - }); -} - -RED.nodes.registerType("ledborg",LedBorgNode); diff --git a/nodes/social/57-notify.html b/nodes/social/57-notify.html deleted file mode 100644 index 67c04cbf3..000000000 --- a/nodes/social/57-notify.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - diff --git a/nodes/social/57-notify.js b/nodes/social/57-notify.js deleted file mode 100644 index 9330966da..000000000 --- a/nodes/social/57-notify.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var growl = require('growl'); -var imagefile = __dirname+"/../../public/mqtt-node-red.png"; - -function NotifyNode(n) { - RED.nodes.createNode(this,n); - this.title = n.title; - var node = this; - this.on("input",function(msg) { - var titl = this.title||msg.topic; - if (typeof(msg.payload) == 'object') { - msg.payload = JSON.stringify(msg.payload); - } - if (typeof(titl) != 'undefined') { - growl(msg.payload, { title: titl, image: imagefile }); - } - else { - growl(msg.payload, { image: imagefile }); - } - }); -} - -RED.nodes.registerType("notify",NotifyNode); diff --git a/nodes/social/57-prowl.html b/nodes/social/57-prowl.html deleted file mode 100644 index 6a897f79e..000000000 --- a/nodes/social/57-prowl.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - diff --git a/nodes/social/57-prowl.js b/nodes/social/57-prowl.js deleted file mode 100644 index d59dc2a3e..000000000 --- a/nodes/social/57-prowl.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var Prowl = require('node-prowl'); -var util = require('util'); - -// Either add a line like this to settings.js -// prowl: {prowlkey:'My-API-KEY'}, -// or create pushkey.js in dir ABOVE node-red, it just needs to be like -// module.exports = {prowlkey:'My-API-KEY'} - -try { - var pushkey = require("../../settings").prowl || require("../../../pushkey.js"); -} -catch(err) { - util.log("[57-prowl.js] Error: Failed to load Prowl credentials"); -} - -if (pushkey) { - var prowl = new Prowl(pushkey.prowlkey); -} - -function ProwlNode(n) { - RED.nodes.createNode(this,n); - this.title = n.title; - this.priority = parseInt(n.priority); - if (this.priority > 2) this.priority = 2; - if (this.priority < -2) this.priority = -2; - var node = this; - this.on("input",function(msg) { - var titl = this.title||msg.topic||"Node-RED"; - var pri = msg.priority||this.priority; - if (typeof(msg.payload) == 'object') { - msg.payload = JSON.stringify(msg.payload); - } - if (pushkey) { - try { - prowl.push(msg.payload, titl, { priority: pri }, function(err, remaining) { - if (err) node.error(err); - node.log( remaining + ' calls to Prowl api during current hour.' ); - }); - } - catch (err) { - node.error(err); - } - } - else { - node.warn("Prowl credentials not set/found. See node info."); - } - }); -} - -RED.nodes.registerType("prowl",ProwlNode); diff --git a/nodes/social/57-pushbullet.html b/nodes/social/57-pushbullet.html deleted file mode 100644 index 320202970..000000000 --- a/nodes/social/57-pushbullet.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - diff --git a/nodes/social/57-pushbullet.js b/nodes/social/57-pushbullet.js deleted file mode 100644 index b839e893e..000000000 --- a/nodes/social/57-pushbullet.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var PushBullet = require('pushbullet'); -var util = require('util'); - -// Either add a line like this to settings.js -// pushbullet: {pushbullet:'My-API-KEY', deviceid:'12345'}, -// or create pushkey.js in dir ABOVE node-red, it just needs to be like -// module.exports = {pushbullet:'My-API-KEY', deviceid:'12345'} - -try { - var pushkey = require("../../settings").pushbullet || require("../../../pushkey.js"); -} -catch(err) { - util.log("[57-pushbullet.js] Error: Failed to load PushBullet credentials"); -} - -if (pushkey) { - var pusher = new PushBullet(pushkey.pushbullet); - var deviceId = pushkey.deviceid; -} - -function PushbulletNode(n) { - RED.nodes.createNode(this,n); - this.title = n.title; - var node = this; - this.on("input",function(msg) { - var titl = this.title||msg.topic||"Node-RED"; - if (typeof(msg.payload) == 'object') { - msg.payload = JSON.stringify(msg.payload); - } - if (pushkey) { - try { - pusher.note(deviceId, titl, msg.payload, function(err, response) { - if (err) node.error(err); - console.log(response); - }); - } - catch (err) { - node.error(err); - } - } - else { - node.warn("Pushbullet credentials not set/found. See node info."); - } - }); -} - -RED.nodes.registerType("pushbullet",PushbulletNode); diff --git a/nodes/social/92-xmpp.html b/nodes/social/92-xmpp.html deleted file mode 100644 index daaa27155..000000000 --- a/nodes/social/92-xmpp.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - diff --git a/nodes/social/92-xmpp.js b/nodes/social/92-xmpp.js deleted file mode 100644 index 15f957958..000000000 --- a/nodes/social/92-xmpp.js +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var orig=console.warn; -console.warn=(function() { // suppress warning from stringprep when not needed) - var orig=console.warn; - return function() { - //orig.apply(console, arguments); - }; -})(); - -var RED = require("../../red/red"); -var xmpp = require('simple-xmpp'); -console.warn = orig; - -try { - var xmppkey = require("../../settings").xmpp || require("../../../xmppkeys.js"); -} catch(err) { - throw new Error("Failed to load XMPP credentials"); -} - -function XmppNode(n) { - RED.nodes.createNode(this,n); - this.server = n.server; - this.port = n.port; - this.join = n.join || false; - this.nick = n.nick || "Node-RED"; - this.sendAll = n.sendObject; - this.to = n.to || ""; - var node = this; - - setTimeout(function() { - xmpp.connect({ - jid : xmppkey.jid, - password : xmppkey.password, - host : this.server, - port : this.port, - skipPresence : true, - reconnect : false - }); - }, 5000); - - xmpp.on('online', function() { - node.log('connected to '+node.server); - xmpp.setPresence('online', node.nick+' online'); - if (node.join) { - xmpp.join(node.to+'/'+node.nick); - } - }); - - xmpp.on('chat', function(from, message) { - var msg = { topic:from, payload:message }; - node.send([msg,null]); - }); - - xmpp.on('groupchat', function(conference, from, message, stamp) { - var msg = { topic:from, payload:message, room:conference }; - if (from != node.nick) { node.send([msg,null]); } - }); - - //xmpp.on('chatstate', function(from, state) { - //console.log('%s is currently %s', from, state); - //var msg = { topic:from, payload:state }; - //node.send([null,msg]); - //}); - - xmpp.on('buddy', function(jid, state, statusText) { - node.log(jid+" is "+state+" : "+statusText); - var msg = { topic:jid, payload: { presence:state, status:statusText} }; - node.send([null,msg]); - }); - - xmpp.on('error', function(err) { - console.error(err); - }); - - xmpp.on('close', function(err) { - node.log('connection closed'); - }); - - xmpp.on('subscribe', function(from) { - xmpp.acceptSubscription(from); - }); - - this.on("input", function(msg) { - var to = msg.topic; - if (node.to != "") { to = node.to; } - if (node.sendAll) { - xmpp.send(to, JSON.stringify(msg), node.join); - } - else { - xmpp.send(to, msg.payload, node.join); - } - }); - - this.on("close", function() { - xmpp.setPresence('offline'); - //xmpp.conn.end(); - // TODO - DCJ NOTE... this is not good. It leaves the connection up over a restart - which will end up with bad things happening... - // (but requires the underlying xmpp lib to be fixed (which does have an open bug request on fixing the close method)). - this.warn("Due to an underlying bug in the xmpp library this does not disconnect old sessions. This is bad... A restart would be better."); - }); -} - -RED.nodes.registerType("xmpp",XmppNode); diff --git a/nodes/storage/67-leveldb.html b/nodes/storage/67-leveldb.html deleted file mode 100644 index bca7afb03..000000000 --- a/nodes/storage/67-leveldb.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/nodes/storage/67-leveldb.js b/nodes/storage/67-leveldb.js deleted file mode 100644 index 050d456be..000000000 --- a/nodes/storage/67-leveldb.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Copyright 2013 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -var RED = require("../../red/red"); -var lvldb = require('level'); - -function LevelNode(n) { - RED.nodes.createNode(this,n); - this.dbname = n.db; - var node = this; - lvldb(this.dbname, function(err, db) { - if (err) node.error(err); - node.db = db; - }); -} -RED.nodes.registerType("leveldbase",LevelNode); -LevelNode.prototype.close = function() { - this.db.close(); -} - -function LevelDBNodeIn(n) { - RED.nodes.createNode(this,n); - this.level = n.level; - this.levelConfig = RED.nodes.getNode(this.level); - - if (this.levelConfig) { - var node = this; - node.on("input", function(msg) { - if (typeof msg.topic === 'string') { - node.levelConfig.db.get(msg.topic, function(err, value) { - if (err) { - //node.warn(err); - // for some reason they treat nothing found as an error... - msg.payload = null; // so we should return null - } - else { msg.payload = value; } - node.send(msg); - }); - } - else { - if (typeof msg.topic !== 'string') node.error("msg.topic (the key is not defined"); - } - }); - } - else { - this.error("LevelDB database name not configured"); - } -} -RED.nodes.registerType("leveldb in",LevelDBNodeIn); - - -function LevelDBNodeOut(n) { - RED.nodes.createNode(this,n); - this.level = n.level; - this.operation = n.operation; - this.levelConfig = RED.nodes.getNode(this.level); - - if (this.levelConfig) { - var node = this; - node.on("input", function(msg) { - if (typeof msg.topic === 'string') { - if (node.operation === "delete") { - node.levelConfig.db.del(msg.topic); - } - else { - node.levelConfig.db.put(msg.topic, msg.payload, function(err) { - if (err) node.error(err); - }); - } - } - else { - if (typeof msg.topic !== 'string') node.error("msg.topic (the key is not defined"); - } - }); - } - else { - this.error("LevelDB database name not configured"); - } -} -RED.nodes.registerType("leveldb out",LevelDBNodeOut); diff --git a/public/icons/bullet.png b/public/icons/bullet.png deleted file mode 100644 index 3cf11b3f8..000000000 Binary files a/public/icons/bullet.png and /dev/null differ diff --git a/public/icons/prowl.png b/public/icons/prowl.png deleted file mode 100644 index 43f322533..000000000 Binary files a/public/icons/prowl.png and /dev/null differ diff --git a/public/icons/xmpp.png b/public/icons/xmpp.png deleted file mode 100644 index 57e43fc43..000000000 Binary files a/public/icons/xmpp.png and /dev/null differ