Core: Telegram notify component crashes on start

Created on 25 Apr 2017  路  22Comments  路  Source: home-assistant/core

Make sure you are running the latest version of Home Assistant before reporting an issue.

Home Assistant release (hass --version):
0.43.1

Python release (python3 --version):
Python 3.4.3

Component/platform:
notify.telegram

Description of problem:
When starting hass the traceback below appears and telegram notifications do not work.

Expected:
No traceback and telegram notifications to be working.

Problem-relevant configuration.yaml entries and steps to reproduce:

notify:
  - platform: telegram
    name: TelegramBot
    api_key: telegram_api_key
    chat_id: telegram_chat_id

Traceback (if applicable):

17-04-25 18:18:21 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/home/hass/lib/python3.4/site-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.4/asyncio/futures.py", line 386, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 287, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 275, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/hass/lib/python3.4/site-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/hass/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/hass/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/hass/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/hass/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/hass/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/hass/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/hass/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/hass/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/hass/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/hass/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/home/hass/lib/python3.4/_collections_abc.py", line 422, in get
    return self[key]
  File "/home/hass/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
  File "/home/hass/lib/python3.4/collections/__init__.py", line 182, in pop
    if key in self:
TypeError: unhashable type: 'list'
problem in dependency

Most helpful comment

urllib3 downgrade fixed it!

If you're using virtual environment in /home/hass the command is as follows:

~/bin/pip3 install urllib3==1.20 --upgrade --target /home/hass/.homeassistant/deps/

Trying to figure out the matter I downgraded back to 0.41.0 and the error persisted. The urllib issue explains that.

All 22 comments

Works fine for me on dev. Is the bot properly setup?

Duplicate of #7297

I have the exact same problem. HA version 0.43.1 and Python v3.4.2 running on Raspbian Jessie. Telegram was working flawlessly in HA version 0.42 earlier today. No changes in configuration.

notify:
  - platform: telegram
    name: telegram
    api_key: !secret telegram_api_key
    chat_id: !secret telegram_chat_id

I can't reproduce the traceback on 0.43.1. Telegram and my bot are working as excepted. Setup, messages from and to the bot, and retrieving of the chat_id.

The bot on the telegram side is properly working. I haven't changed anything in the notify configuration, only updated to 0.43.1 from 0.42. The same configuration, with the same bot, but on a different HASS instance still works properly.

What I did after the upgrade was to enable the telegram_bot polling component, at first the notify component worked and after some tests and restarts to reload changes it stopped working and this error started to appear and the notify component stopped working.

Same issue here on 0.43.1, worked fine on 0.42.3 (didn't ran 0.43.0).

17-04-25 20:22:01 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/_collections_abc.py", line 425, in get
    return self[key]
  File "/home/homeassistant/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/collections/__init__.py", line 178, in pop
    if key in self:
TypeError: unhashable type: 'list'

I have the exact same issue. Upgraded to 0.43.1 and have this (even after several restarts):

17-04-25 23:05:34 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/usr/lib/python3.4/_collections_abc.py", line 425, in get
    return self[key]
  File "/home/homeassistant/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
  File "/usr/lib/python3.4/collections/__init__.py", line 178, in pop
    if key in self:
TypeError: unhashable type: 'list'
17-04-25 23:05:34 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/usr/lib/python3.4/_collections_abc.py", line 425, in get
    return self[key]
  File "/home/homeassistant/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
  File "/usr/lib/python3.4/collections/__init__.py", line 178, in pop
    if key in self:
TypeError: unhashable type: 'list'

Same here.
Upgraded from 0.43.0 - 0.43.1.

Worked fine in 0.43.0.

17-04-26 02:04:43 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.5/asyncio/futures.py", line 361, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.5/dist-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/falkaub/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/falkaub/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/falkaub/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/falkaub/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/falkaub/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/falkaub/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/usr/lib/python3.5/_collections_abc.py", line 595, in get
    return self[key]
  File "/home/falkaub/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
TypeError: unhashable type: 'list'
17-04-26 02:04:44 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.5/asyncio/futures.py", line 361, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.5/dist-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/falkaub/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/falkaub/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/falkaub/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/falkaub/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/falkaub/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/falkaub/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/falkaub/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/usr/lib/python3.5/_collections_abc.py", line 595, in get
    return self[key]
  File "/home/falkaub/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
TypeError: unhashable type: 'list'

I am not reposting the error, but got exactly the same
hass version: 0.43.1
python : 3.4.2

Same one for me, my docker build: https://hub.docker.com/r/monster1025/homeassistant-i386/ based on pip-code.
hass: 0.43.1
python: 3.4.5

Stack-trace is same (can't get bot name): https://pastebin.com/xVa3pBS3

This appears to be caused by the urllib3 upgrade:
https://github.com/python-telegram-bot/python-telegram-bot/issues/581

Downgrading to urllib 1.20 resolved the issue:

sudo pip3 install urllib3==1.20

Don't forget to restart HA afterwards.

urllib3 downgrade fixed it!

If you're using virtual environment in /home/hass the command is as follows:

~/bin/pip3 install urllib3==1.20 --upgrade --target /home/hass/.homeassistant/deps/

Trying to figure out the matter I downgraded back to 0.41.0 and the error persisted. The urllib issue explains that.

Anyone else have issues after update to 43.2, despite #7311 fix?

I had telegram.notify and telegram webhooks working in 43, then update to 43.1 broke both due to this issue. I upgraded to 43.2 and on first boot notify seemed to work (I got my intial "system is up" notification) but a few minutes later nothing is working again and Im now getting the errors below:

17-04-28 06:05:22 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform telegram
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/notify/__init__.py", line 101, in async_setup_platform
    None, platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/notify/telegram.py", line 49, in get_service
    username = bot.getMe()['username']
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 125, in decorator
    result = func(self, *args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 174, in getMe
    result = self._request.get(url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 170, in get
    result = self._request_wrapper('GET', url)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 66, in request
    **urlopen_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 87, in request_encode_url
    return self.urlopen(method, url, **extra_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/usr/lib/python3.4/_collections_abc.py", line 425, in get
    return self[key]
  File "/home/homeassistant/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
  File "/usr/lib/python3.4/collections/__init__.py", line 178, in pop
    if key in self:
TypeError: unhashable type: 'list'
17-04-28 06:05:22 ERROR (MainThread) [homeassistant.components.telegram_bot] Error setting up platform webhooks
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/telegram_bot/__init__.py", line 63, in async_setup_platform
    discovery_info)
  File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
    value = future.result()
  File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
    raise self._exception
  File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/telegram_bot/webhooks.py", line 52, in setup_platform
    current_status = bot.getWebhookInfo()
  File "/home/homeassistant/.homeassistant/deps/telegram/bot.py", line 1433, in getWebhookInfo
    result = self._request.post(url, data, timeout=kwargs.get('timeout'))
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 207, in post
    **urlopen_kwargs)
  File "/home/homeassistant/.homeassistant/deps/telegram/utils/request.py", line 132, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 70, in request
    **urlopen_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/request.py", line 148, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 303, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 219, in connection_from_host
    return self.connection_from_context(request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 232, in connection_from_context
    return self.connection_from_pool_key(pool_key, request_context=request_context)
  File "/home/homeassistant/.homeassistant/deps/urllib3/poolmanager.py", line 245, in connection_from_pool_key
    pool = self.pools.get(pool_key)
  File "/usr/lib/python3.4/_collections_abc.py", line 425, in get
    return self[key]
  File "/home/homeassistant/.homeassistant/deps/urllib3/_collections.py", line 53, in __getitem__
    item = self._container.pop(key)
  File "/usr/lib/python3.4/collections/__init__.py", line 178, in pop
    if key in self:

This is my config:

notify:
  - platform: joaoapps_join
    device_id: group.android
    name: join 
    api_key: !secret join_apikey
  - platform: telegram
    name: NotifyBot
    api_key: !secret telegram_API
    chat_id: !secret telegram_group_ID

telegram_bot:
  platform: webhooks
  api_key: !secret telegram_API
  allowed_chat_ids:
    - !secret telegram_ID_1
    - !secret telegram_ID_2

After I upgraded to 0.43.2 the error disappeared...

I'm still having the same problem.

Hass 0.43.2
Python 3.4.2
urllib3==1.21
python-telegram-bot==5.3.1
rpi 3 running up-to-date Jessie
pip (not docker) installation

I'm going to go out of my depth here and perhaps suggest something stupid, but may it have to do with some character in the API key that is causing indigestion. They aren't just alphanumeric, but include symbols as well.
Edit: Just replaced symbols in my API key with the letter x, expecting some other type of error, but didn't get that, so I suspect the symbols aren't the problem.

Downgrading to urllib3 1.20 resolved the problem.

sudo pip3 install urllib3==1.20 --upgrade

@mplawner do I just use that command or do I have to go through all the other steps first when doing a hassbian update (sudo su -s /bin/bash homeassistant, etc)?

Im still getting the same errors after running that and restarting

@pizzapants try this

pip3 install urllib3==1.20 --upgrade --target /home/homeassistant/.homeassistant/deps/

@FredRodrigues just to make sure im doing this right, how do I run this? Im on a hassbian install. Do I just log in and enter that or do I need to go through the steps I do when upgrading first (sudo su -s /bin/bash homeassistant, etc))

@FredRodrigues that worked,thanks!

Sorta. Notify now works, webhooks still doesnt work although the error is gone.

Nevermind, webhooks is working but the documentation is somehow wrong again

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Ciqsky picture Ciqsky  路  129Comments

neotrunks picture neotrunks  路  169Comments

Bergasha picture Bergasha  路  176Comments

grantalewis picture grantalewis  路  145Comments

ariel-madril picture ariel-madril  路  451Comments