Skip to content

Commit

Permalink
Added disable/enable of SSDP (#17)
Browse files Browse the repository at this point in the history
  • Loading branch information
datech committed Oct 23, 2019
1 parent 011cf7c commit 59b8e6c
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 39 deletions.
93 changes: 56 additions & 37 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,28 +1,39 @@
<script type="text/javascript">
RED.nodes.registerType('amazon-echo-hub',{
category: "input",
color: "#31C4F3",
defaults: {
port: { value: "80", required: true, validate:
function(port) {
return port > 0 && port < 65536;
}
},
processinput: { value: 0 }
},
inputs: 1,
outputs: 1,
icon: "amazon-echo-hub.png",
label: function() {
return "Amazon Echo Hub";
RED.nodes.registerType('amazon-echo-hub', {
category: "input",
color: "#31C4F3",
defaults: {
port: {
value: "80",
required: true,
validate: function(port) {
return port > 0 && port < 65536;
}
});
},
processinput: {
value: 0
},
discovery: {
value: true
}
},
inputs: 1,
outputs: 1,
icon: "amazon-echo-hub.png",
label: function() {
return "Amazon Echo Hub";
}
});
</script>

<script type="text/x-red" data-template-name="amazon-echo-hub">
<style media="screen">
<style media="screen">
.form-row label {
width: 120px;
width: 140px;
}
.form-row input,
.form-row select {
width: 260px;
}
</style>
<div class="form-row">
Expand All @@ -38,6 +49,10 @@
<option value="3">Process and output on state change</option>
</select>
</div>
<div class="form-row">
<label for="node-input-discovery"><i class="fa fa-search"></i> Device discovery</label>
<input type="checkbox" id="node-input-discovery">
</div>
<div class="form-tips">
Tips:
<p>
Expand All @@ -55,9 +70,7 @@
<h3>Inputs</h3>
Enable input processing to allow input payload signals
<dl class="message-properties">
<dt>payload
<span class="property-type">string | buffer</span>
</dt>
<dt>payload <span class="property-type">string | buffer</span></dt>
<dd> the payload of the message to publish</dd>

<dt>payload.nodeid <span class="property-type">string</span></dt>
Expand Down Expand Up @@ -148,24 +161,30 @@ <h3>Outputs</h3>


<script type="text/javascript">
RED.nodes.registerType('amazon-echo-device',{
category: "input",
color: "#31C4F3",
defaults: {
name: {value:"", required:true},
topic: {value:"", required:false},
},
inputs:1,
outputs:1,
icon: "amazon-echo-device.png",
label: function() {
return this.name || "Amazon Echo Device";
}
});
RED.nodes.registerType('amazon-echo-device', {
category: "input",
color: "#31C4F3",
defaults: {
name: {
value: "",
required: true
},
topic: {
value: "",
required: false
},
},
inputs: 1,
outputs: 1,
icon: "amazon-echo-device.png",
label: function() {
return this.name || "Amazon Echo Device";
}
});
</script>

<script type="text/x-red" data-template-name="amazon-echo-device">
<div class="form-row">
<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="Bedroom light">
</div>
Expand Down
11 changes: 9 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ module.exports = function(RED) {
var port = config.port > 0 && config.port < 65536 ? config.port : 80;

// Start SSDP service
ssdp(port, config);
var ssdpServer = ssdp(port, config);
if (config.discovery) {
ssdpServer.start();
}

// Stoppable kill the server on deploy
const graceMilliseconds = 500;
Expand Down Expand Up @@ -120,6 +123,10 @@ module.exports = function(RED) {
});

hubNode.on('close', function(removed, doneFunction) {
// Stop SSDP server
ssdpServer.stop();

// Stop HTTP server
httpServer.stop(function() {
if (typeof doneFunction === 'function')
doneFunction();
Expand Down Expand Up @@ -291,7 +298,7 @@ module.exports = function(RED) {
server.addUSN('upnp:rootdevice');
server.addUSN('urn:schemas-upnp-org:device:basic:1');

server.start();
return server;
}

//
Expand Down

0 comments on commit 59b8e6c

Please sign in to comment.