1
0
mirror of https://github.com/node-red/node-red-nodes.git synced 2023-10-10 13:36:58 +02:00

Update pushbullet to use latest 0.4 npm and allow iden as well as id

This commit is contained in:
Dave C-J 2014-02-14 20:38:39 +00:00
parent 66598a66b1
commit 4a53c20792
2 changed files with 35 additions and 33 deletions

View File

@ -26,12 +26,13 @@
</script> </script>
<script type="text/x-red" data-help-name="pushbullet"> <script type="text/x-red" data-help-name="pushbullet">
<p>Uses PushBullet to push the <b>msg.payload</b> to an Android device that has PushBullet app installed.</p> <p>Uses PushBullet to push the <b>msg.payload</b> to an Android device that has PushBullet app installed.</p>
<p>Optionally uses <b>msg.topic</b> to set the title, if not already set in the properties.</p> <p>Optionally uses <b>msg.topic</b> to set the title, if not already set in the properties.</p>
<p>You MUST configure both your API key and the target device ID. Either into settings.js like this</p> <p>You MUST configure both your API key and the target device ID. Either into settings.js like this</p>
<p><pre>pushbullet: { pushbullet:'My-API-KEY', deviceid:'12345' },</pre></p> <p><pre>pushbullet: { pushbullet:'My-API-KEY', deviceid:'xyzzyWabc' },</pre></p>
<p>Or as a pushkey.js file in the directory <b>above</b> node-red.<p> <p>Or as a pushkey.js file in the directory <b>above</b> node-red.<p>
<p><pre>module.exports = { pushbullet:'My-API-KEY', deviceid:'12345' }</pre></p> <p><pre>module.exports = { pushbullet:'My-API-KEY', deviceid:'xyzzyWabc' }</pre></p>
<p>The deviceid can be found by hovering over you required device on the <a href="https://www.pushbullet.com/">PushBullet website</a>.</p>
</script> </script>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -24,41 +24,42 @@ var util = require('util');
// module.exports = {pushbullet:'My-API-KEY', deviceid:'12345'} // module.exports = {pushbullet:'My-API-KEY', deviceid:'12345'}
try { try {
var pushkey = RED.settings.pushbullet || require(process.env.NODE_RED_HOME+"/../pushkey.js"); var pushkey = RED.settings.pushbullet || require(process.env.NODE_RED_HOME+"/../pushkey.js");
} }
catch(err) { catch(err) {
util.log("[57-pushbullet.js] Error: Failed to load PushBullet credentials"); util.log("[57-pushbullet.js] Error: Failed to load PushBullet credentials");
} }
if (pushkey) { if (pushkey) {
var pusher = new PushBullet(pushkey.pushbullet); var pusher = new PushBullet(pushkey.pushbullet);
var deviceId = pushkey.deviceid; var deviceId = pushkey.deviceid;
} }
function PushbulletNode(n) { function PushbulletNode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.title = n.title; this.title = n.title;
var node = this; var node = this;
this.on("input",function(msg) { this.on("input",function(msg) {
var titl = this.title||msg.topic||"Node-RED"; var titl = this.title||msg.topic||"Node-RED";
if (typeof(msg.payload) == 'object') { if (typeof(msg.payload) == 'object') {
msg.payload = JSON.stringify(msg.payload); msg.payload = JSON.stringify(msg.payload);
} }
if (pushkey) { if (pushkey.pushbullet && pushkey.deviceid) {
try { try {
pusher.note(deviceId, titl, msg.payload, function(err, response) { if (!isNaN(deviceId)) { deviceId = Number(deviceId); }
if (err) node.error(err); pusher.note(deviceId, titl, msg.payload, function(err, response) {
console.log(response); if (err) node.error(err);
}); console.log(response);
} });
catch (err) { }
node.error(err); catch (err) {
} node.error(err);
} }
else { }
node.warn("Pushbullet credentials not set/found. See node info."); else {
} node.warn("Pushbullet credentials not set/found. See node info.");
}); }
});
} }
RED.nodes.registerType("pushbullet",PushbulletNode); RED.nodes.registerType("pushbullet",PushbulletNode);