diff --git a/lib/roles/provider.js b/lib/roles/provider.js index b664c5f5..bae3f07c 100644 --- a/lib/roles/provider.js +++ b/lib/roles/provider.js @@ -27,6 +27,7 @@ module.exports = function(options) { tracker.on('add', function(device) { if (isWantedDevice(device)) { log.info('Found device "%s" (%s)', device.id, device.type) + pushDeviceStatus(device, device.type) maybeConnect(device) } else { @@ -37,6 +38,7 @@ module.exports = function(options) { tracker.on('change', function(device) { if (isWantedDevice(device)) { log.info('Device "%s" is now "%s"', device.id, device.type) + pushDeviceStatus(device, device.type) maybeConnect(device) || maybeDisconnect(device) } }) @@ -44,6 +46,7 @@ module.exports = function(options) { tracker.on('remove', function(device) { if (isWantedDevice(device)) { log.info('Lost device "%s" (%s)', device.id, device.type) + pushDeviceStatus(device, 'absent') maybeDisconnect(device) } }) @@ -74,7 +77,6 @@ module.exports = function(options) { function maybeConnect(device) { if (isConnectable(device) && !isConnected(device)) { - pushDeviceStatus(device, device.type) log.info('Spawning worker for device "%s"', device.id) var proc = options.fork(device) proc.on('error', function(err) { @@ -112,7 +114,6 @@ module.exports = function(options) { function maybeDisconnect(device) { if (isConnected(device)) { - pushDeviceStatus(device, 'absent') log.info('Releasing worker of %s', device.id) gracefullyKillWorker(device.id) return true