Skip to content

Commit

Permalink
add device stream after refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
alvarolb committed Aug 8, 2018
1 parent d59cc73 commit 02b11d7
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
46 changes: 46 additions & 0 deletions device-stream.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<script type="text/javascript">
RED.nodes.registerType('device-stream', {
category: 'input',
color: '#74b9ff',
defaults: {
name: {value:""},
device: {value: "", required:true},
resource: {value: "", required:true},
interval: {value: "10", required:true},
server: {value:"", type:"thinger-server"}
},
icon:"thinger_logo_white.png",
inputs:0,
outputs:1,
label: function() {
return this.name || ((this.device && this.resource) ? (this.device + "/" + this.resource + " (" + this.interval + "s)") : "Device Stream");
}
});
</script>

<script type="text/x-red" data-template-name="device-stream">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
<div class="form-row">
<label for="node-input-device"><i class="fa fa-rocket"></i> Device</label>
<input type="text" id="node-input-device" placeholder="Device Identifier">
</div>
<div class="form-row">
<label for="node-input-resource"><i class="fa fa-cog"></i> Resource</label>
<input type="text" id="node-input-resource" placeholder="Resource Name">
</div>
<div class="form-row">
<label for="node-input-interval"><i class="fa fa-clock-o"></i> Interval (s)</label>
<input type="text" id="node-input-interval" placeholder="Sampling Interval (s)">
</div>
<div class="form-row">
<label for="node-input-server"><i class="fa fa-server"></i> Server</label>
<input type="text" id="node-input-server" placeholder="Select Server">
</div>
</script>

<script type="text/x-red" data-help-name="device-stream">
<p>Node that reads information from a Thinger.io connected device</p>
</script>
25 changes: 25 additions & 0 deletions device-stream.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = function(RED) {

function DeviceStreamNode(config) {
RED.nodes.createNode(this, config);

// get node
var node = this;

// get server configuration
var server = RED.nodes.getNode(config.server);

// register listener on creation
server.registerDeviceResourceListener(config.device, config.resource, Number(config.interval), node);

// unregister listener on close
node.on('close', function(removed, done) {
if(removed){
server.unRegisterDeviceResourceListener(config.device, config.resource, node);
}
done();
});
}

RED.nodes.registerType("device-stream", DeviceStreamNode);
};

0 comments on commit 02b11d7

Please sign in to comment.