core: Neato integration is not working

The problem

Hello, I’m trying to reinstall the neato integration from the UI or direct on the configuration.yaml file and with both methods I have the below error in the HA log. No Devices and No entities are available.

This integration was working perfectly before the last HA update.

Environment

  • Home Assistant Core release with the issue: 2020.12.1
  • Last working Home Assistant Core release (if known): 0.18.2
  • Operating environment (OS/Container/Supervised/Core): OS
  • Integration causing this issue: Neato
  • Link to integration documentation on our website: https://www.home-assistant.io/integrations/neato

Problem-relevant configuration.yaml


Traceback/Error logs

2020-12-31 12:05:43 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry **<username-omitted-for-privacy>** for neato
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/homeassistant/config_entries.py", line 236, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/usr/local/lib/python3.8/site-packages/homeassistant/components/neato/__init__.py", line 103, in async_setup_entry
await hass.async_add_executor_job(hub.update_robots)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/site-packages/homeassistant/util/__init__.py", line 239, in wrapper
result = method(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/homeassistant/components/neato/__init__.py", line 170, in update_robots
self._hass.data[NEATO_ROBOTS] = self.my_neato.robots
File "/home/pi/.homeassistant/deps/lib/python3.8/site-packages/pybotvac/account.py", line 74, in robots
self.refresh_robots()
File "/home/pi/.homeassistant/deps/lib/python3.8/site-packages/pybotvac/account.py", line 127, in refresh_robots
self._robots.add(Robot(name=robot['name'],
File "/home/pi/.homeassistant/deps/lib/python3.8/site-packages/pybotvac/robot.py", line 47, in __init__
if self.service_version not in SUPPORTED_SERVICES:
File "/home/pi/.homeassistant/deps/lib/python3.8/site-packages/pybotvac/robot.py", line 239, in service_version
return self.available_services['houseCleaning']
File "/home/pi/.homeassistant/deps/lib/python3.8/site-packages/pybotvac/robot.py", line 235, in available_services
return self.state['availableServices']
KeyError: 'availableServices'

Additional information

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 33 (15 by maintainers)

Most upvoted comments

@samsam-rolon Take a look here: https://community.home-assistant.io/t/2021-1-happy-new-year/264975/81?u=santobert

You may have an outdated robot in your configuration.

Anything else I can grab before I reconnect my vacuums? They work fine from the app and show as connected.

Hmm you could try my branch with data validation. Just checkout https://github.com/Santobert/pybotvac/tree/validiate_responses and use sample.py again via username/password or OAuth. Tell us about your results in this thread or here: https://github.com/stianaske/pybotvac/pull/68

As soon as these checks are verified we’ll merge them and update pybotvac to get rid of these cryptic error messages.

I’ll reconnect them, but something I found interesting is that the state variable prior to the exception was only {'data': {}, 'reqId': '1', 'result': 'ok', 'version': 1} and nothing else.

This error is a duplicate from https://github.com/home-assistant/core/issues/43889 which was closed by the author so I assume it was a random error. Can you please try and interact with the parent library and get the state output of the device?

See: https://github.com/home-assistant/core/issues/43889#issuecomment-738116353