MQTT in "Developer Tools" missing

I’ve setup a new instance of Home Assistant and the MQTT tab in “Developer Tools” is missing, despite me running the “Home Assistant Add-on: Mosquitto broker” add-on and it being referenced in my config thus:

mqtt:
  broker: core-mosquitto
  discovery: true
  discovery_prefix: homeassistant  

any ideas how I can coax it into life?

Cheers

I tried to reinstall it on the integrations tab and it just churns away for ages then in the logs I can see:

Logger: aiohttp.server
Source: components/mqtt/config_flow.py:180
First occurred: 3:25:08 PM (1 occurrences)
Last logged: 3:25:08 PM

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 186, in post
    return await super().post(request)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 60, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 73, in post
    "show_advanced_options": data["show_advanced_options"],
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 129, in async_init
    flow, flow.init_step, data, init_done
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 201, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/mqtt/config_flow.py", line 158, in async_step_init
    return await self.async_step_broker()
  File "/usr/src/homeassistant/homeassistant/components/mqtt/config_flow.py", line 180, in async_step_broker
    fields[vol.Required(CONF_BROKER, default=current_config[CONF_BROKER])] = str
KeyError: 'broker'

To answer the question in the title, it’s moved! From the latest release notes: https://www.home-assistant.io/blog/#integration-specific-panels-are-now-on-the-integrations-page. To coax it into life I suggest two things; remove the enntry from your configuration. yaml, configure it through the integration and secondly configure it with the server IP address (I actually use 127.0.0.1) and port 1883.

Hope this helps.

2 Likes

Thanks - deleted it from config and re-installed as an integration. That worked.
It’s now MUCH harder to find, involving lots more clicks…unless I’m missing something!
Anyway sorted. Thanks

Eeeee I wish they hadn’t moved this…

2 Likes

Maybe you have an idea how to bring “Publish MQTT” somewhere closer in UI, so one can call it in one click? Maybe to side menu?

Sorry I don’t. I have seen a thread on moving some tools to the sidebar, but can’t seem to find it at the moment.

The only solution I found is to add new tab, call it MQTT, switch on panel mode and add iframe panel with URL /config/mqtt?config_entry=ba0e9f1413bc477bab74ce379e7b4cf4

Maybe I’m a dummy, but searching that page results in only 7 finds for the term “mqtt” and none of them tell me where to find it.

I did install it as an integration using the supervisor, I have home-assistant and my devices using it and communication is happening, I just can’t access it in the developer tools.

@daneboom or others, can someone tell me where to find it? Much appreciated

ahhhh found it, wow, that’s intuitive /sarcasm.

In case someone else ends up here too:

Go to the “Configuration” tab in the left hand bar, and select “Integrations” which will bring up your installed integrations. This is the screen that you use if you want to add another integration.

On the MQTT Card you select “Configure” and you will be presented with:

I would have expected this to be under the devtools area where it was before, or more conveniently if it had to be removed from devtools I would expect a better place would have been under the Supervisor area they could have added a listener/publisher tab there. That would have been somewhat intuitive at least.

The Supervisor has nothing to do with the MQTT integration.

The built-in MQTT tools were moved out of Developer Tools (many versions ago) because their presence only makes sense if the MQTT integration is installed. Accordingly, they were moved to the MQTT integration.

At the bottom of the documentation page for the MQTT integration is a list of links to related topics. One of the links is called:

Testing your setup

The linked page describes how to test the MQTT integration. The description includes instructions for using the built-in MQTT tools (and where to find them within the MQTT integration). Here’s an excerpt:

Another way to send MQTT messages manually is to use the “MQTT” Integration in the frontend. Choose the “Configuration” tab, click “Integrations” and click the “Configure” option under the “MQTT” integration. Enter something similar to the example below into the “topic” field under “Publish a packet*.

Thanks for your input @123, perhaps my description of “the Supervisor area” would be better served to say that within the MQTT Add-on under the Supervisor area. I’m specifically talking about here:

In my mind at least, this is the area you are going to come to when you want to confirm various settings/configurations and otherwise manage the MQTT add-on. A publish/listener tab at the top of that area is a lot more intuitive, since that’s where all the other real configuration of the plugin is directed.

Also, I did extensively search the documentation, both within home-assistant (refer above screenshot where there is a tab dedicated to documentation), there is nothing mentioned there. I did also check that link you sent, I had already seen that, but that one paragraph is not very obvious (IMO).

Now that I know it’s there, I’ll dig down to it when I need to, I’d just prefer that it was more centrally located. That’s all.

Or what about just having the option of adding the now fairly well buried/hidden integration MQTT page as a link to the sidebar for those of us who like to be able to access it quickly?

The Mosquitto Add-on is an MQTT Broker. It is independent of Home Assistant’s ability to communicate via MQTT which is furnished by the MQTT integration.

Home Assistant can’t “talk” MQTT until the MQTT integration is installed. Neither would the MQTT tools and that’s why they are part of the MQTT integration. Once it is installed, Home Assistant can connect to any MQTT Broker (i.e. not limited to the Mosquitto Add-on).

You are free to edit the documentation page and make it more obvious.

Yeah, I do get that, however when you’re debugging things, I do believe the dev tools area was probably the best area for it since there are service, state and event listeners in that same spot. From memory, if there was no broker installed, the MQTT tab didn’t appear, I could be wrong on that though.

I do plan on suggesting an edit to the page, I still have it open here to look at later.

Thanks again for your comments. Cheers

For general MQTT debugging, I recommend using a dedicated, full-featured MQTT client such as MQTT Explorer.

Home Assistant’s MQTT tools represent a minimal MQTT client (not to belabor the point but that’s why they’re part of MQTT integration). They’re adequate to confirm Home Assistant is connected to the MQTT Broker and able to publish and subscribe. Beyond that, MQTT Explorer is the superior client.

This is currently possible using something balloob supplied here:

I’ve used it to add the Server Controls page to the sidebar menu but it could be used for any page.
Screenshot from 2021-03-01 12-01-40