Botvac Connected with Neato Plugin

Posted on
Tue Mar 31, 2020 11:24 am
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Botvac Connected with Neato Plugin

Hi kmarkley,

First, a big thanks for your work on this and all of your other plugins!! I gave this a try with my aging Botvac Connected. No dice. Here's the error I get when starting the plugin with the same credentials I use for the app and website:

Code: Select all
Started plugin "Neato Botvac 0.0.1"
Neato Botvac Error              Error accessing Neato account - check plugin config
Neato Botvac Error              "Botvac1" initialization error.  Try updating Neato account from plugin menu.
Neato Botvac                    "Botvac1" request status
Neato Botvac Error              "Botvac1" thread error
'Botvac' object has no attribute 'robot'
Traceback (most recent call last):
File "plugin.py", line 362, in run
func(*args)
File "plugin.py", line 393, in request_status
robot_status = self.robot.state
AttributeError: 'Botvac' object has no attribute 'robot'
Thoughts on how best to troubleshoot/resolve?

Thank you!

Posted on
Tue Mar 31, 2020 11:40 am
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

What do you get in the log when you save the plugin configuration?

Posted on
Tue Mar 31, 2020 11:44 am
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

kmarkley wrote:
What do you get in the log when you save the plugin configuration?


Thanks for the prompt reply. Here's what I get:

Code: Select all
Neato Botvac Error              Error accessing Neato account - check plugin config

Just verified again and these credentials do work for the app and website.

Posted on
Tue Mar 31, 2020 1:57 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

Did it work before? If not, how did you configure the device?

Do you have a firewall blacking things? I had to allow outbound requests on port 4443 (not inbound) but most routers on default config should allow this anyway.

Unfortunately there's not a great deal of troubleshooting I can do. I suppose I should log more detail about the error, but it will be a few days before I can update the plugin.

Posted on
Tue Mar 31, 2020 4:02 pm
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

Update: looks like the device went offline between plugin install/config and my post. The error mentioned above is maybe what happens when the device is not connected to https://beehive.neatocloud.com? The current error is perhaps a bit more informative:

Code: Select all
Neato Botvac                    Neato account updated
Neato Botvac                    Robots found:
Neato Botvac                         Botvac1 (OPSXXXXX-XXXXXXXXXXXX)
Neato Botvac                    "Botvac1" request status
Neato Botvac Error              "Botvac1" received malformed status message
Neato Botvac Error              "Botvac1" thread error
'connected'
Traceback (most recent call last):
File "plugin.py", line 362, in run
func(*args)
File "plugin.py", line 422, in request_status
if self.states['connected'] == False:
KeyError: 'connected'

Apologies for the false start above – this is the error we're really chasing.

Thoughts? Thanks!

Posted on
Tue Mar 31, 2020 4:16 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

Try editing and saving your device configuration now that the account is properly connected.

Posted on
Tue Mar 31, 2020 4:21 pm
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

kmarkley wrote:
Try editing and saving your device configuration now that the account is properly connected.


Unfortunately, same error after trying this edit/save.

Posted on
Tue Mar 31, 2020 4:26 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

Please turn on debugging and reload the plugin.

Posted on
Tue Mar 31, 2020 8:20 pm
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

kmarkley wrote:
Please turn on debugging and reload the plugin.


Sure thing. Here's the result:

Code: Select all
   Starting plugin "Neato Botvac 0.0.1" (pid 34509)
   Started plugin "Neato Botvac 0.0.1"
   Neato Botvac Debug              Debug logging enabled
   Neato Botvac                    Neato account updated
   Neato Botvac                    Robots found:
   Neato Botvac                         Test Robot (OPSXXXXX-XXXXXXXXXXXX)
   Neato Botvac Debug              "Test  Robot" thread started
   Neato Botvac                    "Test  Robot" request status
   Neato Botvac Error              "Test  Robot" received malformed status message
   Neato Botvac Debug              {
    "action": 0,
    "availableCommands": {
        "goToBase": false,
        "pause": false,
        "resume": false,
        "start": true,
        "stop": false
    },
    "availableServices": {
        "houseCleaning": "basic-1",
        "manualCleaning": "basic-1",
        "maps": "basic-1",
        "schedule": "basic-1",
        "spotCleaning": "basic-1"
    },
    "cleaning": {
        "category": 0,
        "mode": 1,
        "modifier": 1,
        "spotHeight": 0,
        "spotWidth": 0
    },
    "data": {},
    "details": {
        "charge": 96,
        "dockHasBeenSeen": false,
        "isCharging": false,
        "isDocked": true,
        "isScheduleEnabled": true
    },
    "error": "ui_alert_invalid",
    "meta": {
        "firmware": "2.2.0",
        "modelName": "BotVacConnected"
    },
    "reqId": "1",
    "result": "ok",
    "state": 1,
    "version": 1
}
   Neato Botvac Error              "Test  Robot" thread error
'connected'
Traceback (most recent call last):
  File "plugin.py", line 362, in run
    func(*args)
  File "plugin.py", line 422, in request_status
    if self.states['connected'] == False:
KeyError: 'connected'

Posted on
Tue Mar 31, 2020 8:42 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

Apparently your robot returns slightly different status info than mine. I can easily fix this but it will be a few days.

Posted on
Tue Mar 31, 2020 8:43 pm
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

No rush at all. Thanks much for tackling the plugin in the first place!

Posted on
Thu Apr 02, 2020 10:02 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin


Posted on
Mon Apr 06, 2020 12:02 pm
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

Just tried this version. Similar issue. Thoughts?

Code: Select all
 Started plugin "Neato Botvac 0.0.2"
   Neato Botvac Debug              Debug logging enabled
   Neato Botvac                    Neato account updated
   Neato Botvac                    Robots found:
   Neato Botvac                         Test Robot ()
   Neato Botvac Debug              "Test  Robot" thread started
   Neato Botvac                    "Test  Robot" request status
   Neato Botvac Error              "Test  Robot" received malformed status message
   Neato Botvac Debug              {
    "action": 0,
    "availableCommands": {
        "goToBase": false,
        "pause": false,
        "resume": false,
        "start": true,
        "stop": false
    },
    "availableServices": {
        "houseCleaning": "basic-1",
        "manualCleaning": "basic-1",
        "maps": "basic-1",
        "schedule": "basic-1",
        "spotCleaning": "basic-1"
    },
    "cleaning": {
        "category": 0,
        "mode": 1,
        "modifier": 1,
        "spotHeight": 0,
        "spotWidth": 0
    },
    "data": {},
    "details": {
        "charge": 100,
        "dockHasBeenSeen": false,
        "isCharging": false,
        "isDocked": true,
        "isScheduleEnabled": true
    },
    "error": "ui_alert_invalid",
    "meta": {
        "firmware": "2.2.0",
        "modelName": "BotVacConnected"
    },
    "reqId": "1",
    "result": "ok",
    "state": 1,
    "version": 1
}
   Neato Botvac Error              "Test  Robot" thread error
'connected'
Traceback (most recent call last):
  File "plugin.py", line 362, in run
    func(*args)
  File "plugin.py", line 422, in request_status
    if self.states['connected'] == False:
KeyError: 'connected'

Posted on
Mon Apr 06, 2020 4:35 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin


Posted on
Tue Apr 07, 2020 4:03 pm
chobo offline
Posts: 126
Joined: Dec 08, 2013
Location: USA

Re: Botvac Connected with Neato Plugin

kmarkley wrote:


This did the trick. Status is updating as expected. Will explore actions when I get the time. Thanks so much!

Who is online

Users browsing this forum: No registered users and 3 guests