Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neato component not working after update to 0.97 #25759

Closed
infestdead opened this issue Aug 7, 2019 · 7 comments
Closed

Neato component not working after update to 0.97 #25759

infestdead opened this issue Aug 7, 2019 · 7 comments

Comments

@infestdead
Copy link

Home Assistant release with the issue:
0.97

Last working Home Assistant release (if known):
0.96.3

Operating environment (Hass.io/Docker/Windows/etc.):
RPI3 with dietpi and latest Home Assistant
Component/platform:
https://www.home-assistant.io/components/neato/

Description of problem:
Doesn't start, errors attached

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

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

Traceback (if applicable):

Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]: 2019-08-07 23:43:12 ERROR (MainThread) [homeassistant.setup] Error during setup of component neato
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]: Traceback (most recent call last):
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/homeassistant/setup.py", line 172, in _async_setup_component
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     component.setup, hass, processed_config  # type: ignore
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/lib/python3.6/concurrent/futures/thread.py", line 56, in run
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     result = self.fn(*self.args, **self.kwargs)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/homeassistant/components/neato/__init__.py", line 181, in setup
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     hass.data[NEATO_LOGIN] = NeatoHub(hass, config[DOMAIN], Account, Neato)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/homeassistant/components/neato/__init__.py", line 208, in __init__
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     self._hass.data[NEATO_ROBOTS] = self.my_neato.robots
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/account.py", line 65, in robots
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     self.refresh_robots()
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/account.py", line 113, in refresh_robots
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     endpoint=robot['nucleo_url']))
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 46, in __init__
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     if self.service_version not in SUPPORTED_SERVICES:
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 231, in service_version
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return self.available_services['houseCleaning']
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 227, in available_services
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return self.state['availableServices']
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 223, in state
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return self.get_robot_state().json()
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 181, in get_robot_state
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return self._message({'reqId': "1", 'cmd': "getRobotState"})
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 63, in _message
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     headers=self._headers)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/requests/api.py", line 116, in post
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return request('post', url, data=data, json=json, **kwargs)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/requests/api.py", line 60, in request
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return session.request(method=method, url=url, **kwargs)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/requests/sessions.py", line 519, in request
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     prep = self.prepare_request(req)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/requests/sessions.py", line 462, in prepare_request
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     hooks=merge_hooks(request.hooks, self.hooks),
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/requests/models.py", line 317, in prepare
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     self.prepare_auth(auth, url)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/requests/models.py", line 548, in prepare_auth
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     r = auth(self)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/envs/homeassistant-3.6.3/lib/python3.6/site-packages/pybotvac/robot.py", line 245, in __call__
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     locale.setlocale(locale.LC_TIME, 'en_US.utf8')
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:   File "/home/homeassistant/.pyenv/versions/3.6.3/lib/python3.6/locale.py", line 598, in setlocale
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]:     return _setlocale(category, locale)
Aug 07 23:43:12 HomeAssistant homeassistant-start.sh[24424]: locale.Error: unsupported locale setting

Additional information:

@dshokouhi
Copy link
Member

This seems to be an issue with the parent library:

stianaske/pybotvac#45

Are you by chance able to set the locale for your system?

Here is some background behind the change in pybotvac:

stianaske/pybotvac#30 (comment)

@infestdead
Copy link
Author

Yes it was locale issue. So I had it set to en_GB.utf8, and dietpi being a RPI distro removed almost anything else, besides "C" and "POSIX". So I had to add en_US.utf8, restart HA and now it works. For anyone also on dietpi - you manage locales via dietpi-config.

@frenck frenck closed this as completed Aug 8, 2019
@Santobert
Copy link
Member

Santobert commented Aug 8, 2019

@frenck This should not be closed as it also affects the docker image. It is just a workaround to change the locale.

@Ceerbeerus
Copy link

+1 same problem with docker image.

@fekberg
Copy link

fekberg commented Aug 8, 2019

What's the suggested workaround for the docker image?

@Santobert
Copy link
Member

It looks like the locale en_US.UTF-8 is not available in the docker image:

root@d5ffd1e9d17b:/usr/src/app# locale -a
C
C.UTF-8
POSIX

So there are two possible solutions:

  1. Install/configure the docker image to make en_US.UTF-8 available
  2. Edit pybotvac that en_US.UTF-8 is not necessary

@dshokouhi What do you think?

@frenck
Copy link
Member

frenck commented Aug 8, 2019

This issue was about an local issue when running on dietpi, not Docker.
The issue was solved by a configuration change by the user.

Docker is a different use case and a different issue. Please create a separate issue with details in case you encounter problems. Thanks 👍

@home-assistant home-assistant locked and limited conversation to collaborators Aug 8, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants