Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


A simple web interface which is able to subscribe to a MQTT topic and display the information.

The screenshot shows an example how to keep track on what's going in your apartment or your house. It's not about controlling, this setup is about observing various states.



What to see mqtt-panel in action ->

The web page is using bootstrap with jQuery.


Get the files

Clone the mqtt-panel repository

$ git clone


mqtt-panel is using the listed projects to provide its functionality:

If you are using Fedora and want to generate MQTT messages, install the paho-mqtt Python bindings for

$ sudo dnf -y install python-paho-mqtt

MQTT broker/server

A MQTT broker/server with Websocket support is needed.

  • mosquitto - An Open Source MQTT v3.1/3.11 broker
  • mosca - A multi-transport MQTT broker for node.js (Project seems abandoned)

Running mqtt-panel

  1. Make sure that your MQTT broker/server is running and listening.
  2. Adjust var host = ''; and var port = 3000; in the file js/index.js to match your setup. Also, var topic = '#';.
  3. Open index.html in a modern web browser.

Generate MQTT messages

Start the ./ script to publish test messages if you have no other source for messages. Depending on your broker you may need to set the supported version, on line 33: protocol=mqtt.MQTTv311 and adjust the broker and its port.

For manually sending messages to your MQTT broker/server you can use mosquitto_pub from mosquitto.

$ mosquitto_pub -V mqttv311 -h localhost -d -t home/front/door -m "false"

To check if the messages are are ok, subscribe to the topic home/# with mosquitto_sub.

$ mosquitto_sub -V mqttv311 -h localhost -d -t home/#


mqtt-panel was inspired by the ideas of:


mqtt-panel licensed under MIT, for more details check LICENSE.