core: Netatmo integration does not work in 0.92 (Raspbian)

Home Assistant release with the issue: 0.92

Last working Home Assistant release (if known): 0.91.4

Operating environment (Hass.io/Docker/Windows/etc.): Raspberry Pi 3 B+ with latest Raspbian

Component/platform: netatmo

Description of problem: The netatmo integration has stopped working

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

netatmo:
  api_key: ****
  secret_key: ****
  username: ****
  password: ****
  discovery: true

sensor:
  - platform: netatmo
    modules:
        ...

climate:
  - platform: netatmo

Traceback (if applicable):

Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up platform netatmo
Apr 25 15:04:44 raspberrypi hass[1669]: Traceback (most recent call last):
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 126, in _async_setup_platform
Apr 25 15:04:44 raspberrypi hass[1669]:     SLOW_SETUP_MAX_WAIT, loop=hass.loop)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
Apr 25 15:04:44 raspberrypi hass[1669]:     return fut.result()
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
Apr 25 15:04:44 raspberrypi hass[1669]:     raise self._exception
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
Apr 25 15:04:44 raspberrypi hass[1669]:     result = self.fn(*self.args, **self.kwargs)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 72, in setup_platform
Apr 25 15:04:44 raspberrypi hass[1669]:     manual_config(config, dev)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 94, in manual_config
Apr 25 15:04:44 raspberrypi hass[1669]:     if module_name not in data.get_module_names():
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 377, in get_module_names
Apr 25 15:04:44 raspberrypi hass[1669]:     self.update()
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 406, in update
Apr 25 15:04:44 raspberrypi hass[1669]:     self.station_data = self._detect_platform_type()
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 388, in _detect_platform_type
Apr 25 15:04:44 raspberrypi hass[1669]:     station_data = self.data_class(self.auth)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/smart_home/WeatherStation.py", line 21, in __init__
Apr 25 15:04:44 raspberrypi hass[1669]:     self.getAuthToken = authData.accessToken
Apr 25 15:04:44 raspberrypi hass[1669]: AttributeError: 'NoneType' object has no attribute 'accessToken'
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain light took 0.0 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain recorder took 5.5 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.components.light] Setting up light.hue
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain sensor took 3.9 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 2.7 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain switch took 2.9 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain camera took 0.2 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.hue
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 5.8 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.components.hue.sensor_base] Starting sensor polling loop with 5.0 second interval
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setting up logbook
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain logbook took 0.0 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setting up history
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.0 seconds.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.netatmo
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.components.camera] Setting up camera.netatmo
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 INFO (MainThread) [homeassistant.components.climate] Setting up climate.netatmo
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 ERROR (Thread-15) [homeassistant.components.netatmo.climate] No default_home in HomeData.
Apr 25 15:04:44 raspberrypi hass[1669]: 2019-04-25 15:04:44 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up platform netatmo
Apr 25 15:04:44 raspberrypi hass[1669]: Traceback (most recent call last):
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 126, in _async_setup_platform
Apr 25 15:04:44 raspberrypi hass[1669]:     SLOW_SETUP_MAX_WAIT, loop=hass.loop)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
Apr 25 15:04:44 raspberrypi hass[1669]:     return fut.result()
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
Apr 25 15:04:44 raspberrypi hass[1669]:     raise self._exception
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
Apr 25 15:04:44 raspberrypi hass[1669]:     result = self.fn(*self.args, **self.kwargs)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 74, in setup_platform
Apr 25 15:04:44 raspberrypi hass[1669]:     auto_config(config, dev)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 117, in auto_config
Apr 25 15:04:44 raspberrypi hass[1669]:     for module_name in data.get_module_names():
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 377, in get_module_names
Apr 25 15:04:44 raspberrypi hass[1669]:     self.update()
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 406, in update
Apr 25 15:04:44 raspberrypi hass[1669]:     self.station_data = self._detect_platform_type()
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/netatmo/sensor.py", line 388, in _detect_platform_type
Apr 25 15:04:44 raspberrypi hass[1669]:     station_data = self.data_class(self.auth)
Apr 25 15:04:44 raspberrypi hass[1669]:   File "/srv/homeassistant/lib/python3.5/site-packages/smart_home/WeatherStation.py", line 21, in __init__
Apr 25 15:04:44 raspberrypi hass[1669]:     self.getAuthToken = authData.accessToken
Apr 25 15:04:44 raspberrypi hass[1669]: AttributeError: 'NoneType' object has no attribute 'accessToken'

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 20 (6 by maintainers)

Most upvoted comments

I have a same issue and think that this problem is caused by a below patch.

Fix unnecessary hass.components interaction #23029 https://github.com/home-assistant/home-assistant/pull/23029

Confirmed: rolled back this pull and fixed the issue.

I have a same issue and think that this problem is caused by a below patch.

Fix unnecessary hass.components interaction #23029 https://github.com/home-assistant/home-assistant/pull/23029

The netatmo integration should be refactored to not use a global for its authentication. It should be stored in hass.data instead.

Preferably we should also move all configuration under the component section and set up platforms via discovery.

After applied this pull, The issue had been fixed. Thanks

just pulled/tested 0.92.1 - resolves my issue 👍

I can confirm this issue when upgrading from 0.91.4 to 0.92 on FreeNAS in a jail. Downgrading to 0.91.4 fixes it for me. Have not tried to recreate API keys.

I only see 2 relevant PRs that made it into 0.92 (https://github.com/home-assistant/home-assistant/pull/22365 and https://github.com/home-assistant/home-assistant/pull/22363), but have not narrowed down which one is responsible or if it something else.