Botvac Connected with Neato Plugin

Posted on
Thu Apr 09, 2020 7:05 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

Glad to hear it. Update pushed to the plugin store.

Posted on
Sat Apr 25, 2020 7:20 am
shapa offline
Posts: 483
Joined: Sep 08, 2014
Location: Swindon

Re: Botvac Connected with Neato Plugin

Two D7s, works fine with plugin.

Thanks a lot!

Posted on
Fri May 08, 2020 8:37 am
shapa offline
Posts: 483
Joined: Sep 08, 2014
Location: Swindon

Re: Botvac Connected with Neato Plugin

Noticed that the plugin is stopped to work.
Had to restart it manually. Looks like it is hanging for some reason. Enabled debug, will continue to monitor.

(" Error process (pid 8866) failed to quit after polite request -- forcing it to quit now")

Posted on
Fri May 08, 2020 3:39 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

I've had occasional issues with the plugin failing to tell if it has a valid connection to neato's servers (as mentioned in the plugin description). The third-party library I'm using to access the API doesn't seem to expose the source of the problem so I haven't figured out how to identify or rectify the situation automatically. When this happens I usually have to edit and re-save the robot's indigo device.

I have not seen an issue with the plugin hanging and failing to quit after a polite request. It almost sounds like a network issue but I can't be sure. Please let me know if you find any more clues.

Posted on
Sun Jun 07, 2020 6:00 pm
vvrangler offline
Posts: 38
Joined: Sep 01, 2014

Re: Botvac Connected with Neato Plugin

I am receiving the same error message, but it looks like I am running a different firmware version, 4.5.3-189, do you think that is the problem, different versions reporting different json data?

Thanks!

Jun 7, 2020 at 4:54:45 PM
Neato Botvac "Upstairs" request status
Neato Botvac Error "Upstairs" received malformed status message
Neato Botvac Debug {
"action": 0,
"alert": null,
"availableCommands": {
"goToBase": false,
"pause": false,
"resume": false,
"start": true,
"stop": false
},
"availableServices": {
"IECTest": "advanced-1",
"findMe": "basic-1",
"generalInfo": "basic-1",
"houseCleaning": "basic-4",
"logCopy": "basic-1",
"manualCleaning": "basic-1",
"maps": "basic-2",
"preferences": "basic-2",
"schedule": "basic-2",
"softwareUpdate": "basic-1",
"spotCleaning": "basic-3",
"wifi": "basic-1"
},
"cleaning": {
"category": 4,
"mapId": "",
"mode": 1,
"modifier": 1,
"navigationMode": 1,
"spotHeight": 0,
"spotWidth": 0
},
"data": {},
"details": {
"charge": 99,
"dockHasBeenSeen": false,
"isCharging": false,
"isDocked": true,
"isScheduleEnabled": false
},
"error": null,
"meta": {
"firmware": "4.5.3-189",
"modelName": "BotVacD7Connected"
},
"reqId": "1",
"result": "ok",
"state": 1,
"version": 1
}
Neato Botvac Debug "Upstairs" status update complete

Posted on
Tue Jun 09, 2020 1:15 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

The issue seems to be that your robot is in cleaning category 4.

The plugin is only aware of 3 cleaning categories -- manual (1), house (2), and spot (3). Please put your robot in one of these categories and confirm the plugin can then successfully complete the status request.

If so, let me know what this new category is and I'll add it to the plugin.

Posted on
Wed Jun 17, 2020 4:34 pm
vvrangler offline
Posts: 38
Joined: Sep 01, 2014

Re: Botvac Connected with Neato Plugin

@kmarkley
kmarkley wrote:
The issue seems to be that your robot is in cleaning category 4.

The plugin is only aware of 3 cleaning categories -- manual (1), house (2), and spot (3). Please put your robot in one of these categories and confirm the plugin can then successfully complete the status request.

If so, let me know what this new category is and I'll add it to the plugin.


So this only seems to happen when I am in House mode, however I do have a stored floorplan that it cleans from and I either have to select a room or entire house.
I have included examples of the error for both below. So my assumption would be that Category 4 must mean floorplan?

On this attempt I selected a single room "Family Room" from the floorplan

Neato Botvac Debug {
"action": 4,
"alert": null,
"availableCommands": {
"goToBase": false,
"pause": true,
"resume": false,
"start": false,
"stop": false
},
"availableServices": {
"IECTest": "advanced-1",
"findMe": "basic-1",
"generalInfo": "basic-1",
"houseCleaning": "basic-4",
"logCopy": "basic-1",
"manualCleaning": "basic-1",
"maps": "basic-2",
"preferences": "basic-2",
"schedule": "basic-2",
"softwareUpdate": "basic-1",
"spotCleaning": "basic-3",
"wifi": "basic-1"
},
"cleaning": {
"boundary": {
"id": "877ab40a-f7cf-4105-8dbb-7fca9d7e5788",
"name": "Family Room"
},
"category": 4,
"mapId": "2019-12-02T01:01:09Z",
"mode": 1,
"modifier": 1,
"navigationMode": 2,
"spotHeight": 0,
"spotWidth": 0
},
"data": {},
"details": {
"charge": 94,
"dockHasBeenSeen": true,
"isCharging": false,
"isDocked": false,
"isScheduleEnabled": false
},
"error": null,
"meta": {
"firmware": "4.5.3-189",
"modelName": "BotVacD7Connected"
},
"reqId": "1",
"result": "ok",
"state": 2,
"version": 1
}


In this one I selected Entire House

Neato Botvac Debug {
"action": 0,
"alert": null,
"availableCommands": {
"goToBase": false,
"pause": false,
"resume": false,
"start": true,
"stop": false
},
"availableServices": {
"IECTest": "advanced-1",
"findMe": "basic-1",
"generalInfo": "basic-1",
"houseCleaning": "basic-4",
"logCopy": "basic-1",
"manualCleaning": "basic-1",
"maps": "basic-2",
"preferences": "basic-2",
"schedule": "basic-2",
"softwareUpdate": "basic-1",
"spotCleaning": "basic-3",
"wifi": "basic-1"
},
"cleaning": {
"category": 4,
"mapId": "",
"mode": 1,
"modifier": 1,
"navigationMode": 2,
"spotHeight": 0,
"spotWidth": 0
},
"data": {},
"details": {
"charge": 96,
"dockHasBeenSeen": false,
"isCharging": true,
"isDocked": true,
"isScheduleEnabled": false
},
"error": null,
"meta": {
"firmware": "4.5.3-189",
"modelName": "BotVacD7Connected"
},
"reqId": "1",
"result": "ok",
"state": 1,
"version": 1
}


During the Spot and Manual there were no errors reported.

Thanks again for your help!

Posted on
Sat Jun 27, 2020 12:38 pm
McJohn offline
User avatar
Posts: 631
Joined: Dec 18, 2012
Location: The Netherlands

Re: Botvac Connected with Neato Plugin

Thank you so much for all your effort for the Botvac Connected with Neato Plugin!
It's plug and play! Super! (We've been waiting for years)

Everything is working fast and smooth.
One question:

The Botvac Connected does not want to go to his basket:

Neato Botvac Error "Neato" go to base command not currently available

It's this one:
https://www.neatorobotics.com/support/b ... formation/

How could we fix this?

Thanks for your support.

Regards,

John

Posted on
Tue Jul 07, 2020 12:57 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

@vvrangler:

Please try a new plugin version posted here: https://github.com/kmarkley/Indigo-Neat ... ag/0.0.4b1

In theory this should address your room cleaning mode issue, but since my unit doesn't support that, it is untested. It also updates the underlying third-party library and should be a little better at dealing with connection problems to the neato server.

Posted on
Tue Jul 07, 2020 1:00 pm
kmarkley offline
Posts: 185
Joined: Nov 15, 2016

Re: Botvac Connected with Neato Plugin

McJohn wrote:
Thank you so much for all your effort for the Botvac Connected with Neato Plugin!
The Botvac Connected does not want to go to his basket:

Neato Botvac Error "Neato" go to base command not currently available


Every time the plugin talks to the neato cloud server, it gets a list of available commands. When you send a command, the plugin checks against the list before sending. You may want to do a status request before your return to dock request.

Maybe the command not currently available message shouldn't be an error. Hmm.

Posted on
Sun Aug 30, 2020 1:29 pm
vvrangler offline
Posts: 38
Joined: Sep 01, 2014

Re: Botvac Connected with Neato Plugin

kmarkley wrote:
@vvrangler:

Please try a new plugin version posted here: https://github.com/kmarkley/Indigo-Neat ... ag/0.0.4b1

In theory this should address your room cleaning mode issue, but since my unit doesn't support that, it is untested. It also updates the underlying third-party library and should be a little better at dealing with connection problems to the neato server.


@kmarkley

Apologies for not responding sooner, this update appear to have fixed the issue, THANK YOU!

Any chance of a slight change in the request_status function to show the room that it is cleaning if it shows map_cleaning?

Code: Select all
            elif self.states['state'] == 'busy':
                if self.states['action'] == "map_cleaning":
                    self.states['display'] = "Cleaning - " + self.states['room']
                else:
                    self.states['display'] = self.states['action']
            else:
                self.states['display'] = self.states['state']
            self.states['display'] = self.states['display'].replace('_',' ')


Thanks again!

Posted on
Fri Feb 02, 2024 3:21 am
McJohn offline
User avatar
Posts: 631
Joined: Dec 18, 2012
Location: The Netherlands

Re: Botvac Connected with Neato Plugin

With Indigo 2023.2 this Neato Botvac plugin suddenly stops working:

Enabling plugin "Neato Botvac 0.1.0" using API v3.0
Starting plugin "Neato Botvac 0.1.0" (pid 79458)
Neato Botvac Error !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Neato Botvac Error pybotvac library must now be manually installed from terminal:
Neato Botvac Error pip3 install pybotvac
Neato Botvac Error !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Started plugin "Neato Botvac 0.1.0"
Neato Botvac Debug Debug logging enabled
Neato Botvac Error Error accessing Neato account - check plugin config and internet connection
Neato Botvac Debug name 'PasswordSession' is not defined
Neato Botvac Debug "Neato" thread started
Neato Botvac "Neato" request status
Neato Botvac Error "Neato Stofzuiger" offline

Then did this:

pip3 install pybotvac
Collecting pybotvac
Downloading pybotvac-0.0.24-py3-none-any.whl (17 kB)
Requirement already satisfied: requests in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from pybotvac) (2.31.0)
Requirement already satisfied: requests-oauthlib in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from pybotvac) (1.3.1)
Collecting voluptuous (from pybotvac)
Obtaining dependency information for voluptuous from https://files.pythonhosted.org/packages ... l.metadata
Downloading voluptuous-0.14.1-py3-none-any.whl.metadata (20 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from requests->pybotvac) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from requests->pybotvac) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from requests->pybotvac) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from requests->pybotvac) (2023.11.17)
Requirement already satisfied: oauthlib>=3.0.0 in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from requests-oauthlib->pybotvac) (3.2.2)
Downloading voluptuous-0.14.1-py3-none-any.whl (30 kB)
Installing collected packages: voluptuous, pybotvac
Successfully installed pybotvac-0.0.24 voluptuous-0.14.1

But the errors keep coming.

Any idea how to fix this?

Posted on
Fri Feb 02, 2024 10:02 am
autolog offline
Posts: 3988
Joined: Sep 10, 2013
Location: West Sussex, UK [GMT aka UTC]

Re: Botvac Connected with Neato Plugin

It might be installing it into Python 3.10?

Try:
Code: Select all
pip3.11 install pybotvac

Posted on
Fri Feb 02, 2024 2:41 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: Botvac Connected with Neato Plugin

Good thought (about 3.11) but directories pip is using is definitely python3.11

Looks really odd, code wise in that the package install has an exception.
Release version of pybotvac? or maybe unlisted dependency? (import emails.utils - which I’m not sure about)

If in terminal

Code: Select all
python3


& try below one at at time - should give you what the issue is
Code: Select all
from pybotvac import Account, Neato, PasswordSession
from pybotvac import Robot
from pybotvac.exceptions import NeatoException


Alternatively - and more easily running plugin in interactive shell - may output the same information to shell on startup.

Glenn


Sent from my iPad using Tapatalk

Posted on
Sat Feb 03, 2024 2:40 am
McJohn offline
User avatar
Posts: 631
Joined: Dec 18, 2012
Location: The Netherlands

Re: Botvac Connected with Neato Plugin

Wow! Thanks for the support and useful answers.
Below the answers from the Indigo Scripting Shell in Terminal:

Code: Select all
Connected to Indigo Server v2023.2.0, api v3.4 (localhost:1176)
>>> from pybotvac import Account, Neato, PasswordSession
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/__init__.py", line 1, in <module>
    from .account import Account
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/account.py", line 22, in <module>
    from .robot import Robot
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/robot.py", line 25, in <module>
    urllib3.disable_warnings(urllib3.exceptions.SubjectAltNameWarning)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'urllib3.exceptions' has no attribute 'SubjectAltNameWarning'
>>>


And;

Code: Select all
 from .robot import Robot
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/robot.py", line 25, in <module>
    urllib3.disable_warnings(urllib3.exceptions.SubjectAltNameWarning)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'urllib3.exceptions' has no attribute 'SubjectAltNameWarning'
>>>
>>> from pybotvac import Robot
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/__init__.py", line 1, in <module>
    from .account import Account
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/account.py", line 22, in <module>
    from .robot import Robot
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pybotvac/robot.py", line 25, in <module>
    urllib3.disable_warnings(urllib3.exceptions.SubjectAltNameWarning)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'urllib3.exceptions' has no attribute 'SubjectAltNameWarning'
>>>


And:

Code: Select all
>>> from pybotvac.exceptions import NeatoException
>>>


Does nothing.

Hope this helps a step forward?

Who is online

Users browsing this forum: No registered users and 1 guest