Botvac Connected with Neato Plugin
Re: Botvac Connected with Neato Plugin
Glad to hear it. Update pushed to the plugin store.
Re: Botvac Connected with Neato Plugin
Two D7s, works fine with plugin.
Thanks a lot!
Thanks a lot!
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")
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")
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.
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.
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
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
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.
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.
Re: Botvac Connected with Neato Plugin
@kmarkley
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!
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.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.
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!
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
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
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.
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.
Re: Botvac Connected with Neato Plugin
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.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
Maybe the command not currently available message shouldn't be an error. Hmm.
Re: Botvac Connected with Neato Plugin
@kmarkleykmarkley 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.
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('_',' ')
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?
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?
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
& try below one at at time - should give you what the issue is
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
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
Glenn
Sent from my iPad using Tapatalk
Re: Botvac Connected with Neato Plugin
Wow! Thanks for the support and useful answers.
Below the answers from the Indigo Scripting Shell in Terminal:
And;
And:
Does nothing.
Hope this helps a step forward?
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'
>>> 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'
>>>
Code: Select all
>>> from pybotvac.exceptions import NeatoException
>>>
Hope this helps a step forward?