Did neato stop working?

Is anybody else experience problems with neato? Whenever I (re)start home-assistant, I get


invalid config

The following components and platforms could not be set up:

  • neato

Please check your config.


I don’t understand this. It used to work, and the config must look like this

neato:
  username: !secret neato_username
  password: !secret neato_password

I did have it “deavtivated” in my config (as in “commented out”), and activated again just now. Until then, I did not change my logins in secrets.yaml, nor changed the logins on the neato site. So this cannot be due to incorrect login, nor to incorrect config (as there is nothing I could even have changed in my config as there are no extra parameters I added nor removed).

There is the vendor string, but that one is optional and I had not been using it before when it used to work.

Anybody else experiencing this or might this just be a temporary error??

Thanks for your input :slight_smile:

I have issues like this on occasion and find opening the Neato iOS app and rebooting home assistant straight after usually resolves it.

1 Like

Thank you @J_IO_B
I was hoping to replace the Neato (android) app with home-assistant completely. But I have tried your solution and it does not work for me. Neato keeps throwing this error. I have another instance of hass for testing only, which also includes neato… Maybe using it on both causes this error. I have removed it from my testing config and will wait a bit (did that last night and it still doesn’t work this morning), maybe I was just using neatos API too much and they blocked hass for me because of this.

You will always need the Neato app but you should be able to use HA for just about everything, given you dont hammer their cloud too much. Depending on the error you got you may need to reboot the botvac and/or maybe reset it if the neato app can no longer control the robot. Always make sure you look at the actual error in the logs instead of the notification, that will be a little more helpful.

1 Like

Thank you @dshokouhi
now that you’ve mentioned it… I can start my botvac via neato app, but it does not even display details any longer. For example, I do get a notification when there is an error or cleaning has completed (also get the cleaning map), but I don’t get an update that the device is currently cleaning or how much battery life it has.

I will reset my botvac and see if it works then.

it would be very helpful if you can paste the error you get as well.

1 Like

This is the most recent error log regarding neato

2019-08-13 15:05:30 ERROR (MainThread) [homeassistant.setup] Error during setup of component neato
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/setup.py", line 156, in _async_setup_component
    component.setup, hass, processed_config)  # type: ignore
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/neato/__init__.py", line 174, in setup
    hass.data[NEATO_LOGIN] = NeatoHub(hass, config[DOMAIN], Account)
  File "/usr/src/app/homeassistant/components/neato/__init__.py", line 198, in __init__
    self._hass.data[NEATO_ROBOTS] = self.my_neato.robots
  File "/usr/local/lib/python3.7/site-packages/pybotvac/account.py", line 64, in robots
    self.refresh_robots()
  File "/usr/local/lib/python3.7/site-packages/pybotvac/account.py", line 110, in refresh_robots
    endpoint=robot['nucleo_url']))
  File "/usr/local/lib/python3.7/site-packages/pybotvac/robot.py", line 43, in __init__
    if self.service_version not in SUPPORTED_SERVICES:
  File "/usr/local/lib/python3.7/site-packages/pybotvac/robot.py", line 226, in service_version
    return self.available_services['houseCleaning']
  File "/usr/local/lib/python3.7/site-packages/pybotvac/robot.py", line 222, in available_services
    return self.state['availableServices']
  File "/usr/local/lib/python3.7/site-packages/pybotvac/robot.py", line 218, in state
    return self.get_robot_state().json()
  File "/usr/local/lib/python3.7/site-packages/pybotvac/robot.py", line 176, in get_robot_state
    return self._message({'reqId': "1", 'cmd': "getRobotState"})
  File "/usr/local/lib/python3.7/site-packages/pybotvac/robot.py", line 62, in _message
    response.raise_for_status()
  File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://nucleo.neatocloud.com/vendors/neato/robots/OPS49415-EC1127F94840/messages

404 usually means that the botvac is not connected to the api, can you try restarting the botvac then restart home assistant once it comes back online. I get this myself from time to time.

1 Like

I have tried this, and any other fixes for weeks now.
I get the same error posted by @prankousky

I have the Neato Botvac Connected as well.

If you already ensured that the botvac is controllable via the mobile app can you try to grab the state of the device using the library? Sometimes a reboot and/or reset of the botvac helps too especially in cases where the botvac is not connected in the neato app.

Can’t connect through library either
running -

pybotvac import Account
for robot in Account('[email protected]', 'XXXXXX').robots: 
print(robot)
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/account.py", line 65, in robots
    self.refresh_robots()
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/account.py", line 113, in refresh_robots
    endpoint=robot['nucleo_url']))
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 46, in __init__
    if self.service_version not in SUPPORTED_SERVICES:
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 231, in service_version
    return self.available_services['houseCleaning']
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 227, in available_services
    return self.state['availableServices']
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 223, in state
    return self.get_robot_state().json()
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 181, in get_robot_state
    return self._message({'reqId': "1", 'cmd': "getRobotState"})
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 63, in _message
    headers=self._headers)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 116, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 519, in request
    prep = self.prepare_request(req)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 462, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/usr/lib/python3/dist-packages/requests/models.py", line 317, in prepare
    self.prepare_auth(auth, url)
  File "/usr/lib/python3/dist-packages/requests/models.py", line 548, in prepare_auth
    r = auth(self)
  File "/usr/local/lib/python3.7/dist-packages/pybotvac/robot.py", line 245, in __call__
    locale.setlocale(locale.LC_TIME, 'en_US.utf8')
  File "/usr/lib/python3.7/locale.py", line 604, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

A locale error?

ah yea different error here, how did you install home assistant? Are you able to install set the locale on your system? Heres some background behind this error: https://github.com/home-assistant/home-assistant/issues/25759

Ah, makes sense.
I fixed it using raspi-config and setting the locale.
Thank you!!!

1 Like