Code cleanup
This commit is contained in:
		
							
								
								
									
										66
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								index.js
									
									
									
									
									
								
							| @@ -4,13 +4,13 @@ var inherits = require('util').inherits, | |||||||
|     botvac = require('node-botvac'), |     botvac = require('node-botvac'), | ||||||
|  |  | ||||||
|     Service, |     Service, | ||||||
| 	Characteristic |     Characteristic; | ||||||
|  |  | ||||||
| module.exports = function (homebridge) { | module.exports = function (homebridge) { | ||||||
|     Service = homebridge.hap.Service; |     Service = homebridge.hap.Service; | ||||||
|     Characteristic = homebridge.hap.Characteristic; |     Characteristic = homebridge.hap.Characteristic; | ||||||
|     homebridge.registerPlatform("homebridge-neato", "NeatoVacuumRobot", NeatoVacuumRobotPlatform); |     homebridge.registerPlatform("homebridge-neato", "NeatoVacuumRobot", NeatoVacuumRobotPlatform); | ||||||
| } | }; | ||||||
|  |  | ||||||
| function NeatoVacuumRobotPlatform(log, config) { | function NeatoVacuumRobotPlatform(log, config) { | ||||||
|     this.log = log; |     this.log = log; | ||||||
| @@ -40,9 +40,9 @@ NeatoVacuumRobotPlatform.prototype = { | |||||||
|  |  | ||||||
|         let that = this; |         let that = this; | ||||||
|         this.getRobots(function () { |         this.getRobots(function () { | ||||||
| 			for (var i = 0; i < that.robots.length; i++) { |             for (let i = 0; i < that.robots.length; i++) { | ||||||
|                 that.log("Found robot #" + (i + 1) + " named \"" + that.robots[i].name + "\" with serial \"" + that.robots[i]._serial + "\""); |                 that.log("Found robot #" + (i + 1) + " named \"" + that.robots[i].name + "\" with serial \"" + that.robots[i]._serial + "\""); | ||||||
| 				var robotAccessory = new NeatoVacuumRobotAccessory(that.robots[i], that); |                 let robotAccessory = new NeatoVacuumRobotAccessory(that.robots[i], that); | ||||||
|                 accessories.push(robotAccessory); |                 accessories.push(robotAccessory); | ||||||
|                 that.robots[i].maps.forEach((map) => { |                 that.robots[i].maps.forEach((map) => { | ||||||
|                     map.boundaries.forEach((boundary) => { |                     map.boundaries.forEach((boundary) => { | ||||||
| @@ -65,21 +65,18 @@ NeatoVacuumRobotPlatform.prototype = { | |||||||
|                 that.log(error); |                 that.log(error); | ||||||
|                 that.log.error("Can't log on to neato cloud. Please check your credentials."); |                 that.log.error("Can't log on to neato cloud. Please check your credentials."); | ||||||
|                 callback(); |                 callback(); | ||||||
| 			} |             } else { | ||||||
| 			else { |  | ||||||
|                 client.getRobots((error, robots) => { |                 client.getRobots((error, robots) => { | ||||||
|                     if (error) { |                     if (error) { | ||||||
|                         that.log(error); |                         that.log(error); | ||||||
|                         that.log.error("Successful login but can't connect to your neato robot."); |                         that.log.error("Successful login but can't connect to your neato robot."); | ||||||
|                         callback(); |                         callback(); | ||||||
| 					} |                     } else { | ||||||
| 					else { |  | ||||||
|                         if (robots.length === 0) { |                         if (robots.length === 0) { | ||||||
|                             that.log.error("Successful login but no robots associated with your account."); |                             that.log.error("Successful login but no robots associated with your account."); | ||||||
|                             that.robots = []; |                             that.robots = []; | ||||||
|                             callback(); |                             callback(); | ||||||
| 						} |                         } else { | ||||||
| 						else { |  | ||||||
|                             debug("Found " + robots.length + " robots"); |                             debug("Found " + robots.length + " robots"); | ||||||
|                             let updatedRobotCount = 0; |                             let updatedRobotCount = 0; | ||||||
|                             that.robots = robots; |                             that.robots = robots; | ||||||
| @@ -91,7 +88,7 @@ NeatoVacuumRobotPlatform.prototype = { | |||||||
|                                         return; |                                         return; | ||||||
|                                     } |                                     } | ||||||
|                                     robot.maps = result; |                                     robot.maps = result; | ||||||
| 									let processedMapCount = 0 |                                     let processedMapCount = 0; | ||||||
|                                     robot.maps.forEach((map) => { |                                     robot.maps.forEach((map) => { | ||||||
|                                         robot.getMapBoundaries(map.id, (error, result) => { |                                         robot.getMapBoundaries(map.id, (error, result) => { | ||||||
|                                             if (error) { |                                             if (error) { | ||||||
| @@ -101,7 +98,7 @@ NeatoVacuumRobotPlatform.prototype = { | |||||||
|                                             } |                                             } | ||||||
|                                             processedMapCount++; |                                             processedMapCount++; | ||||||
|                                             if (processedMapCount == robot.maps.length) { |                                             if (processedMapCount == robot.maps.length) { | ||||||
| 												updatedRobotCount++ |                                                 updatedRobotCount++; | ||||||
|                                                 if (updatedRobotCount === that.robots.length) { |                                                 if (updatedRobotCount === that.robots.length) { | ||||||
|                                                     callback(); |                                                     callback(); | ||||||
|                                                 } |                                                 } | ||||||
| @@ -116,7 +113,7 @@ NeatoVacuumRobotPlatform.prototype = { | |||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| } | }; | ||||||
|  |  | ||||||
| function NeatoVacuumRobotAccessory(robot, platform, boundary) { | function NeatoVacuumRobotAccessory(robot, platform, boundary) { | ||||||
|     this.platform = platform; |     this.platform = platform; | ||||||
| @@ -231,10 +228,10 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|         if (this.boundary) { |         if (this.boundary) { | ||||||
|             this.vacuumRobotCleanBoundaryService.getCharacteristic(Characteristic.On).on('set', (on, serviceCallback) => { |             this.vacuumRobotCleanBoundaryService.getCharacteristic(Characteristic.On).on('set', (on, serviceCallback) => { | ||||||
|                 this.setCleanBoundary(this.boundary.id, on, serviceCallback) |                 this.setCleanBoundary(this.boundary.id, on, serviceCallback) | ||||||
| 		}) |             }); | ||||||
|             this.vacuumRobotCleanBoundaryService.getCharacteristic(Characteristic.On).on('get', (serviceCallback) => { |             this.vacuumRobotCleanBoundaryService.getCharacteristic(Characteristic.On).on('get', (serviceCallback) => { | ||||||
|                 this.getCleanBoundary(this.boundary.id, serviceCallback); |                 this.getCleanBoundary(this.boundary.id, serviceCallback); | ||||||
| 		}) |             }); | ||||||
|             this.services.push(this.vacuumRobotCleanBoundaryService); |             this.services.push(this.vacuumRobotCleanBoundaryService); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -251,7 +248,7 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|                             this.log(error + ": " + JSON.stringify(result)); |                             this.log(error + ": " + JSON.stringify(result)); | ||||||
|                         } |                         } | ||||||
|                         callback(); |                         callback(); | ||||||
| 			}) |                     }); | ||||||
|                     return |                     return | ||||||
|                 } else { |                 } else { | ||||||
|                     this.log("Error, robot is already cleaning"); |                     this.log("Error, robot is already cleaning"); | ||||||
| @@ -261,8 +258,7 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|                     debug(this.name + ": Pause cleaning"); |                     debug(this.name + ": Pause cleaning"); | ||||||
|                     this.robot.pauseCleaning(callback); |                     this.robot.pauseCleaning(callback); | ||||||
|                     return; |                     return; | ||||||
| 		    } |                 } else { | ||||||
| 		    else { |  | ||||||
|                     debug(this.name + ": Already stopped"); |                     debug(this.name + ": Already stopped"); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| @@ -293,8 +289,7 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|                     if (that.robot.canResume) { |                     if (that.robot.canResume) { | ||||||
|                         debug(that.name + ": Resume cleaning"); |                         debug(that.name + ": Resume cleaning"); | ||||||
|                         that.robot.resumeCleaning(callback); |                         that.robot.resumeCleaning(callback); | ||||||
| 			    } |                     } else { | ||||||
| 			    else { |  | ||||||
|                         let eco = that.vacuumRobotEcoService.getCharacteristic(Characteristic.On).value; |                         let eco = that.vacuumRobotEcoService.getCharacteristic(Characteristic.On).value; | ||||||
|                         let extraCare = that.vacuumRobotExtraCareService.getCharacteristic(Characteristic.On).value; |                         let extraCare = that.vacuumRobotExtraCareService.getCharacteristic(Characteristic.On).value; | ||||||
|                         let nogoLines = that.vacuumRobotNoGoLinesService.getCharacteristic(Characteristic.On).value; |                         let nogoLines = that.vacuumRobotNoGoLinesService.getCharacteristic(Characteristic.On).value; | ||||||
| @@ -307,24 +302,20 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|                                 if (error) { |                                 if (error) { | ||||||
|                                     that.log.error(error + ": " + result); |                                     that.log.error(error + ": " + result); | ||||||
|                                     callback(true); |                                     callback(true); | ||||||
| 					} |                                 } else { | ||||||
| 					else { |  | ||||||
|                                     callback(); |                                     callback(); | ||||||
|                                 } |                                 } | ||||||
|                             }); |                             }); | ||||||
|                     } |                     } | ||||||
| 			} |                 } else { | ||||||
| 			else { |  | ||||||
|                     debug(that.name + ": Cant start, maybe already cleaning"); |                     debug(that.name + ": Cant start, maybe already cleaning"); | ||||||
|                     callback(); |                     callback(); | ||||||
|                 } |                 } | ||||||
| 		    } |             } else { | ||||||
| 		    else { |  | ||||||
|                 if (that.robot.canPause) { |                 if (that.robot.canPause) { | ||||||
|                     debug(that.name + ": Pause cleaning"); |                     debug(that.name + ": Pause cleaning"); | ||||||
|                     that.robot.pauseCleaning(callback); |                     that.robot.pauseCleaning(callback); | ||||||
| 			} |                 } else { | ||||||
| 			else { |  | ||||||
|                     debug(that.name + ": Already stopped"); |                     debug(that.name + ": Already stopped"); | ||||||
|                     callback(); |                     callback(); | ||||||
|                 } |                 } | ||||||
| @@ -344,12 +335,10 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|                             that.robot.sendToBase(callback); |                             that.robot.sendToBase(callback); | ||||||
|                         }, 1000); |                         }, 1000); | ||||||
|                     }); |                     }); | ||||||
| 				} |                 } else if (that.robot.canGoToBase) { | ||||||
| 				else if (that.robot.canGoToBase) { |  | ||||||
|                     debug(that.name + ": Go to dock"); |                     debug(that.name + ": Go to dock"); | ||||||
|                     that.robot.sendToBase(callback); |                     that.robot.sendToBase(callback); | ||||||
| 				} |                 } else { | ||||||
| 				else { |  | ||||||
|                     that.log.warn(that.name + ": Can't go to dock at the moment"); |                     that.log.warn(that.name + ": Can't go to dock at the moment"); | ||||||
|                     callback(); |                     callback(); | ||||||
|                 } |                 } | ||||||
| @@ -383,8 +372,7 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|             if (on) { |             if (on) { | ||||||
|                 debug(that.name + ": Enable schedule"); |                 debug(that.name + ": Enable schedule"); | ||||||
|                 that.robot.enableSchedule(callback); |                 that.robot.enableSchedule(callback); | ||||||
| 			} |             } else { | ||||||
| 			else { |  | ||||||
|                 debug(that.name + ": Disable schedule"); |                 debug(that.name + ": Disable schedule"); | ||||||
|                 that.robot.disableSchedule(callback); |                 that.robot.disableSchedule(callback); | ||||||
|             } |             } | ||||||
| @@ -464,8 +452,7 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|         let that = this; |         let that = this; | ||||||
|         if (this.lastUpdate !== null && new Date() - this.lastUpdate < 2000) { |         if (this.lastUpdate !== null && new Date() - this.lastUpdate < 2000) { | ||||||
|             callback(); |             callback(); | ||||||
| 		} |         } else { | ||||||
| 		else { |  | ||||||
|             debug(this.name + ": Updating robot state"); |             debug(this.name + ": Updating robot state"); | ||||||
|             this.robot.getState(function (error, result) { |             this.robot.getState(function (error, result) { | ||||||
|                 if (error) { |                 if (error) { | ||||||
| @@ -513,7 +500,7 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|  |  | ||||||
|             // robot is currently cleaning, update if refresh is set to auto or a specific interval |             // robot is currently cleaning, update if refresh is set to auto or a specific interval | ||||||
|             if (that.robot.canPause && that.refresh !== 0) { |             if (that.robot.canPause && that.refresh !== 0) { | ||||||
| 		    let refreshTime = that.refresh === 'auto' ? 60 : that.refresh |                 let refreshTime = that.refresh === 'auto' ? 60 : that.refresh; | ||||||
|                 debug("Updating state in background every " + refreshTime + " seconds while cleaning"); |                 debug("Updating state in background every " + refreshTime + " seconds while cleaning"); | ||||||
|                 that.timer = setTimeout(that.updateRobotTimer.bind(that), refreshTime * 1000); |                 that.timer = setTimeout(that.updateRobotTimer.bind(that), refreshTime * 1000); | ||||||
|             } |             } | ||||||
| @@ -521,10 +508,9 @@ NeatoVacuumRobotAccessory.prototype = { | |||||||
|             else if (that.refresh !== 'auto' && that.refresh !== 0) { |             else if (that.refresh !== 'auto' && that.refresh !== 0) { | ||||||
|                 debug("Updating state in background every " + that.refresh + " seconds (user setting)"); |                 debug("Updating state in background every " + that.refresh + " seconds (user setting)"); | ||||||
|                 that.timer = setTimeout(that.updateRobotTimer.bind(that), that.refresh * 1000); |                 that.timer = setTimeout(that.updateRobotTimer.bind(that), that.refresh * 1000); | ||||||
| 		} |             } else { | ||||||
| 		else { |  | ||||||
|                 debug("Updating state in background disabled"); |                 debug("Updating state in background disabled"); | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     }, |     }, | ||||||
| } | }; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user