diff --git a/hardware/PiGpio/36-rpi-gpio.js b/hardware/PiGpio/36-rpi-gpio.js index f2502ec9..eb93691b 100644 --- a/hardware/PiGpio/36-rpi-gpio.js +++ b/hardware/PiGpio/36-rpi-gpio.js @@ -271,7 +271,7 @@ module.exports = function(RED) { RED.nodes.createNode(this,n); var node = this; - if (allOK === true) { + var doConnect = function() { node.child = spawn(gpioCommand+".py", ["kbd","0"]); node.status({fill:"green",shape:"dot",text:"rpi-gpio.status.ok"}); @@ -300,7 +300,10 @@ module.exports = function(RED) { node.status({fill:"grey",shape:"ring",text:"rpi-gpio.status.closed"}); node.finished(); } - else { node.status({fill:"red",shape:"ring",text:"rpi-gpio.status.stopped"}); } + else { + node.status({fill:"red",shape:"ring",text:"rpi-gpio.status.stopped"}); + setTimeout(function() { doConnect(); },2000) + } }); node.child.on('error', function (err) { @@ -308,6 +311,10 @@ module.exports = function(RED) { else if (err.errno === "EACCES") { node.error(RED._("rpi-gpio.errors.commandnotexecutable")); } else { node.error(RED._("rpi-gpio.errors.error")+': ' + err.errno); } }); + } + + if (allOK === true) { + doConnect(); node.on("close", function(done) { node.status({}); diff --git a/hardware/PiGpio/package.json b/hardware/PiGpio/package.json index 58c84f9f..d6558c92 100644 --- a/hardware/PiGpio/package.json +++ b/hardware/PiGpio/package.json @@ -1,6 +1,6 @@ { "name": "node-red-node-pi-gpio", - "version": "1.2.1", + "version": "1.2.2", "description": "The basic Node-RED node for Pi GPIO", "dependencies" : { },