Core: Embedded MQTT broker broken with 0.78

Created on 19 Sep 2018  路  12Comments  路  Source: home-assistant/core

Just upgraded to 0.78, now I get this error when running HA with the embedded hbmqtt broker:

2018-09-19 11:07:49 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/broker.py", line 343, in stream_connected
    yield from self.client_connected(listener_name, StreamReaderAdapter(reader), StreamWriterAdapter(writer))
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/broker.py", line 469, in client_connected
    result = yield from self.add_subscription(subscription, client_session)
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/broker.py", line 624, in add_subscription
    permitted = yield from self.topic_filtering(session, topic=a_filter)
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/broker.py", line 586, in topic_filtering
    filter_plugins=topic_plugins)
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/plugins/manager.py", line 207, in map_plugin_coro
    return (yield from self.map(self._call_coro, coro_name, *args, **kwargs))
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/plugins/manager.py", line 181, in map
    ret_list = yield from asyncio.gather(*tasks, loop=self._loop)
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/plugins/manager.py", line 193, in _call_coro
    return (yield from coro)
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/plugins/topic_checking.py", line 27, in topic_filtering
    filter_result = super().topic_filtering(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/hbmqtt/plugins/topic_checking.py", line 13, in topic_filtering
    if not self.topic_config:
AttributeError: 'TopicTabooPlugin' object has no attribute 'topic_config'
2018-09-19 11:07:52 WARNING (MainThread) [homeassistant.components.media_player] Setup of platform denonavr is taking over 10 seconds.
2018-09-19 11:08:04 WARNING (MainThread) [hbmqtt.mqtt.protocol.handler] BrokerProtocolHandler Unhandled exception in reader coro: IncompleteReadError('0 bytes read on a total of 1 expected bytes',)

All 12 comments

Please follow our bug report template

Use pip freeze | grep hbmqtt to check if you have hbmqtt 0.9.4 installed

yes it is:

root@homeassistant:/usr/src/app# pip freeze | grep hbmqtt                                     
hbmqtt==0.9.4                                                                                 
root@homeassistant:/usr/src/app#                                      

Could you please follow our bug report template to post your configuration? especially your mqtt config?

I am wondering if you upgrade to 0.78 success, your error message indicated that you are still running on old HA version

here is my mqtt config which worked until 0.77.3

mqtt:
  embedded:
    listeners:
      default:
        max-connections: 5000
        bind: 192.168.0.10:1883
        type: tcp
      ws-1:
        bind: 192.168.0.10:8989
        type: ws
    auth:
      plugins: ['auth.anonymous']
      allow-anonymous: true
  broker: 192.168.0.10
  port: 1883
  password: !secret mqtt_password

just found this: https://github.com/beerfactory/hbmqtt/issues/145

with this configuration it works again:

mqtt:
  embedded:
    listeners:
      default:
        max-connections: 5000
        bind: 192.168.0.10:1883
        type: tcp
      ws-1:
        bind: 192.168.0.10:8989
        type: ws
    auth:
      plugins: ['auth.anonymous']
      allow-anonymous: true
    topic-check:
      enabled: True
      plugins: 
      - topic_taboo
  broker: 192.168.0.10
  port: 1883
  password: !secret mqtt_password

just found this: beerfactory/hbmqtt#145

with this configuration it works again:

mqtt:
  embedded:
    listeners:
      default:
        max-connections: 5000
        bind: 192.168.0.10:1883
        type: tcp
      ws-1:
        bind: 192.168.0.10:8989
        type: ws
    auth:
      plugins: ['auth.anonymous']
      allow-anonymous: true
    topic-check:
      enabled: True
      plugins: 
      - topic_taboo
  broker: 192.168.0.10
  port: 1883
  password: !secret mqtt_password

Thanks, adding the topic-check part also solved this exact same error for me.

I am going to close this issue. It is not a bug. hbmqtt 0.9.4 (HA 0.78) introduced a breaking change if you are using non-default embedded mqtt config.

hm I did not found any breaking change in the release notes of HA 0.78
https://www.home-assistant.io/blog/2018/09/17/release-78/#

maybe it should be mentioned there :)

Not sure to understand what causes the error. I currently also have it.

@Julio-Guerra please open a new issue following our issue template. You may not experience the same issue, since this one has been identified and resolved.

@awarecan are you sure that works with default configuration?
I never used this mqtt server, I just installed 0.9.5 followed the documentation without passing any configuration and always get this exception and actually cannot have a basic setting to work using cli commands.

EDIT: sorry I thought I was in hbmqtt project... I'm going to complain there

Was this page helpful?
0 / 5 - 0 ratings