naofireblade / homebridge-neato

A Neato vacuum robot plugin for homebridge.
MIT License
69 stars 18 forks source link

BotVac Connected - stops after couple seconds #8

Closed HajLender closed 6 years ago

HajLender commented 6 years ago

Hi,

I have a BotVac connected and I successfully implemented your plugin (thank you for creating it). I have a problem, that when I turn on switch "Neato Clean" the neato starts and after cca. 5 seconds it stops and the "Neato Go to Dock" turns on by itself.

If you could help I would really appreaciate it.

Thank you

David

naofireblade commented 6 years ago

Hi David,

that's not how it's supposed to work. Can you start homebridge with the debug option for the plugin and send me the log file from starting the robot until he stops?

Example: sudo DEBUG=homebridge-neato homebridge -D -U /var/lib/homebridge

/var/lib/homebridge is my homebridge folder, it might be different depending on your installation. If you are running homebridge as a service, you can either change your start options or stop the service and start homebridge manually with the given example command.

andrewc commented 6 years ago

I'm having this same problem too. I turned off all other accessory except for Clean and Dock. When I turn Clean on, the machine starts, then shuts down after about 5 seconds.

Actually this ran for longer than 5 seconds, almost a minute. Then shut down. The "Dock" was set to ON while Clean was also ON. I turned off "Dock" and shortly after it shut down. It doesn't make sense for "Clean" and "Dock" to be both on at the same time.

This certainly is a clumsy way to use the device with HomeKit. Wonder why Apple didn't define accessories which could have multiple states or actions on them. Also with Siri you have to say "Hey Siri, turn on Neato Clean", which obviously doesn't sound right.

Any ideas on how to fix this?

Thanks! -Andrew

Here's what It printed to the console (look at my comment):

homebridge-neato Floorsucker: Update (cached) +510ms homebridge-neato Floorsucker: Can't go to dock at the moment +1ms homebridge-neato Floorsucker: Update (cached) +0ms homebridge-neato Floorsucker: Enable schedule +0ms homebridge-neato Floorsucker: Timer stopped +3ms homebridge-neato Floorsucker: Update (online) +3s homebridge-neato Floorsucker: Update (online) +1ms homebridge-neato Floorsucker: Is cleaning: false +399ms homebridge-neato Floorsucker: Can go to dock: false +142ms homebridge-neato Floorsucker: Update (online) +8s homebridge-neato Floorsucker: Resume cleaning +386ms homebridge-neato Floorsucker: Timer called +10s homebridge-neato Floorsucker: Update (online) +0ms homebridge-neato Floorsucker: Timer set (cleaning): 30s +487ms homebridge-neato Floorsucker: Update (online) +15s homebridge-neato Floorsucker: Update (online) +0ms homebridge-neato Floorsucker: Is charging: false +456ms homebridge-neato Floorsucker: Battery: 96 +215ms homebridge-neato Floorsucker: Update (online) +7s homebridge-neato Floorsucker: Timer called +8s homebridge-neato Floorsucker: Update (online) +1ms homebridge-neato Floorsucker: Update (cached) +447ms / Right here is the problem. Pause cleaning to go to Dock? Dock was OFF (indicated by the accessory status on my phone). How is Dock getting turned on? Or maybe the if statement that checks this is messed up? / homebridge-neato Floorsucker: Pause cleaning to go to dock +1ms homebridge-neato Floorsucker: Timer set (cleaning): 30s +1ms homebridge-neato Go to dock +1s

naofireblade commented 6 years ago

Hi Andrew,

thanks for your log. I don't have an option to disable switches in homekit. Therefore I keep the dock switch on as long as it's not possible for the robot to go to the dock so the user cannot switch it on and wonders why nothing happens. After the robot passed the docking station for the first time (about 5-120 seconds after launch) he knows where the station is and I switch the dock switch off. Something in a recent homekit updated must have broken this mechanism. I try to find out what it is.

For your Siri problem, you have 2 options. You can either rename the clean switch to anything you want and just tell Siri "Turn floorsucker on". Or you create a scene and tell Siri "Start floorsucker".

Best regards Arne

naofireblade commented 6 years ago

I think I found the problem. Did you turned the go to dock switch manually off? As explained above this switch is usally always on when the robot can't go home. And off when the robot can go home. I update this button while cleaning to switch it off as soon as the robot sees the docking station. The problem is I also switch it in the other direction when the robot has not seen the docking station yet. This conflicts with a switch that was manually turned off. I will fix that right now.

naofireblade commented 6 years ago

Fixed in Version 0.4.6.

Please tell me if the problem is solved for both of you :) .

HajLender commented 6 years ago

now it works for me. thank you

naofireblade commented 6 years ago

Thank you for your feedback!

bwsales commented 3 years ago

this is what worked for me. After I took apart the vacuum and used my wife’s hair band as a replacement ( make sure u see how the belt is placed as if you put a new belt, hair band etc on wrong you will be starting over!!)I put the robot back together and once again robot started and then stopped immediately. the problem is the laser circle that rotates is not rotating. So I use a shish a bob stick or something long and thin enough to actually get into the hole the laser shoots through and give it a spin/flick of the wrist. Neato starts rotating every time and off to the races she goes. ( yes you will have to do this 85% of the time you start your neato) I can hear a different sound when the laser is rotating so you know its working.