[RELEASE] Neato (Connect) V1.2.6c (Botvac Connected Series)

I’m very new to this type of debugging (this is my first attempt at an App I’ve needed to load).

Below are a few lines before and after the error. I took out the string before the timestamp; if this is important I can put it back.

6:05:20 PM: debug Executing 'poll'
6:05:20 PM: debug Executing 'refresh'
6:05:21 PM: error org.springframework.security.access.AccessDeniedException: Access is denied @line -1 (doCall)
6:05:13 PM: debug getChildDevices(false), children=0
6:05:13 PM: debug getChildDevices(false), children=0
6:05:13 PM: info Body: [[timezone:null, model:BotVacConnected, linked_at:2017-12-25T14:51:45Z, name:Jeeves, prefix:null, traits:[maps], purchased_at:null, secret_key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, serial:xxxxxxxx-xxxxxxxxxxxx, nucleo_url:https://nucleo.neatocloud.com:4443]]
6:05:13 PM: debug selectors: xxxxxxxx-xxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
6:05:13 PM: debug getChildDevices(false), children=0
6:05:13 PM: debug Executing 'updateDevices'

Is your Botvac named Jeeves, if not then I’d say the issue was your Neato credentials, but if it is named Jeeves then it looks like it probably connected anyway (although Jeeves I believe is the default name so tough to tell)? It looks like that access denied error is coming from the Neato system and not the Smartapp code, although I’m not real familiar with the steps required by the Smartapp to connect to the Neato system.

Terk -Yes our Botvac is named Jeeves and I don’t believe it was the default name - so it does seem the credentials and connection to Neato were ok

After going back and forth with Neato support for over a month now, I’m convinced this is a Neato issue. After troubleshooting my router and wireless settings until my eyes glazed over, I tried connecting it to a cellular hotspot, and it STILL failed with the same error. Sometimes it is fine for almost 2 days, other times it fails multiple times in a short span. I’ve found no consistent pattern which introduces the disconnect.

There are many others with a similar problem dating back to 2015: http://www.robotreviews.com/chat/viewtopic.php?f=20&t=19123

The Neato support person actually told me they didn’t think they could solve the problem, and then after I uploaded 500mb of binary logs, told me they had never looked at the logs before and weren’t sure how to read them. Mind=blown. If I gave that level of support to my customers, I’d be fired on the spot.

I’m still waiting on a response from their log analysis. But if you’re having the random disconnects, I strongly suggest you open a case with Neato and push them hard for resolution.

All of my connection issues were resolved after I set up port forwarding on 443 and 80.

Incoming port 443 and 80? Forwarded to where?

Thanks.

443 > 443
80 > 80

You’ll need to reserve the IP of your Botvac.

I tried that too, but it made no difference, so be careful with this recommendation. Neato support also confirmed that they don’t need inbound access on those ports to your network. You just need to allow the Neato outbound access on them. (I prefer to have as few ports opened as possible, especially not common ports like that).

Right now I’m trying a 3rd router specifically for the Neato’s wifi connection, this time with TKIP instead of AES and WPA instead of WPA2. At almost 24 hours so far without a disconnect.

FWIW, my recommendation came from Neato support after I returned two D3’s thinking they were defective.

Ugh, this just further reinforces how incompetent Neato’s support staff is :frowning:

I have a Connected but really doubt there’d be that significant of a difference in network requirements. I even put it in the DMZ for a few days and still got errors, so there’s no way my particular disconnects are related to port issues. Glad they worked for you though!!

I see this issue often as well for no rhyme or reason. Some days are worse than others. I’m guessing it’s on Neato’s end but I wonder if it would be better if the errors were separated into categories (so I could choose to not receive them) or only alerted after a number of unsuccessful attempts. I’m guessing there is some type of heartbeat here to see if the neato is connected and sometimes it skips a beat. Some days I get pinged a ton so I’m guessing the checks occur pretty frequently. Maybe after 10 or 20 unsuccessful attempts then send me a text? The number of attempts isn’t important so much as the time the neato has been disconnected. I would be fine getting pinged if my neato has been disconnected for like 30 minutes or something but right now it seems I get pinged every time the check fails.

What does Persistent Map do??? I can see I can turn it on or off but I dont notice anything different. Thanks.

@Alyc100 How are the triggers on SmartSchedule programmed to work? I have mine set on presence, but the cleaning only seems to start when the presence changes after a cleaning is scheduled. For example this works:

  • I am home, get cleaining scheduled notificaion.
  • I leave, and the cleaning starts.

However, this does not work:

  • I leave home.
  • While away from home, I get the cleaning scheduled notification.
  • Cleaning does not start until I get home, and then leave again.

Thanks for all of the work on this great smartapp!

Within the smart schedule options. there’s an option named enable schedule notification before cleaning. Turn this off, and it should behave as you want.

Hi,

I’ve upgraded from a D3 to D7 just today. it is a real nice upgrade.
I just wonder how I can use the schedule feature with no-go lines.
is it possible to use the no-go lines with your device handler ?

thanks.

This is a great integration and i have been using it for some time now. Thanks!

Although i need some help with something:

What is the recommended way to temporarily suspend the SmartSchedule? If, for example, i just don’t want my Botvac to clean for a while.

I have tried 2 different approaches:

  1. Overriding the schedule when a virtual button is switched on - This only seems to work if the button is switched on on the day that the Botvac is due to clean. If i leave the button switched on, the Botvac continues to clean on subsequent days. I guess i was expecting this to behave as a continuous override: “don’t clean if this switch is on”, rather than “cancel next scheduled clean when button switches on”.

  2. Toggling “Enable SmartSchedule?” to Off in the smart app - This also seems unreliable and my Botvac has continued to clean regardless of this being set to Off!

So far this has resulted in me getting home a couple of times to find my Botvac chewing on some toy or a sock that i have not cleared away, as i thought i had suspended the schedule, or worse, a notification that my botvac is stuck whilst i am away on holiday and unable to rescue it!

My SmartSchedule is set for every 2 days when a virtual Away switch is turned on. The restrictions are as follows: between 9:00 AM BST and 6:00 PM BST, Only on Wednesday and Friday, Override schedule if [Don’t vacuum today] are all on.

Any advice would be much appreciated. Cheers!

Toggling the SmartSchedule to off for your botvac and saving should disable the botvacs. Make sure that in the botvac device in the app the message SmartSchedule disabled appears too.

I went on holiday recently and turning SmartSchedule off did the trick for me.

Thanks for the quick reply, Alex. I will try toggling the smart schedule again, making sure to save, and will let you know how it goes!

can anybody advise on this ?

thx

I currently use it with No-Go lines. As long as the bot is set to use the No-Go lines in the Neato App, and ‘Persistent Map’ is set to ‘ON’ in the device handler, it will work with No-Go lines.

2 Likes