https://github.com/thomasnordquist/MQTT-Explorer
An all-round MQTT client that provides a structured topic overview
https://github.com/thomasnordquist/MQTT-Explorer
homeautomation mqtt mqtt-client mqtt-explorer mqtt-smarthome mqtt-tool
Last synced: about 1 month ago
JSON representation
An all-round MQTT client that provides a structured topic overview
- Host: GitHub
- URL: https://github.com/thomasnordquist/MQTT-Explorer
- Owner: thomasnordquist
- License: other
- Created: 2019-01-02T15:38:09.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-09T15:20:04.000Z (7 months ago)
- Last Synced: 2025-03-11T13:49:04.137Z (about 1 month ago)
- Topics: homeautomation, mqtt, mqtt-client, mqtt-explorer, mqtt-smarthome, mqtt-tool
- Language: TypeScript
- Homepage: https://mqtt-explorer.com
- Size: 17 MB
- Stars: 3,289
- Watchers: 71
- Forks: 309
- Open Issues: 303
-
Metadata Files:
- Readme: Readme.md
- Changelog: Changelog.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-integration - MQTT Explorer (⭐3.3k) - A detailed MQTT client delivering structured topic visualization and intuitive debugging. (Projects / API Testing)
- trackawesomelist - MQTT Explorer (⭐3.3k) (⭐3.3k) - A detailed MQTT client delivering structured topic visualization and intuitive debugging. (Recently Updated / [Mar 26, 2025](/content/2025/03/26/README.md))
README
# [MQTT Explorer](https://mqtt-explorer.com)
[](https://travis-ci.org/thomasnordquist/MQTT-Explorer/releases)
[](https://travis-ci.org/thomasnordquist/MQTT-Explorer/releases)
[](https://travis-ci.org/thomasnordquist/MQTT-Explorer)
[](https://ci.appveyor.com/project/thomasnordquist/mqtt-explorer/branch/master)
[](https://app.codacy.com/app/thomasnordquist/MQTT-Explorer?utm_source=github.com&utm_medium=referral&utm_content=thomasnordquist/MQTT-Explorer&utm_campaign=Badge_Grade_Dashboard)| | | |
| :---------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: |
| [](https://mqtt-explorer.com/img/screen-composite.png) | [](https://mqtt-explorer.com/img/screen2.png) | [](https://mqtt-explorer.com/img/screen3.png) |# The App has moved to [mqtt-explorer.com](https://mqtt-explorer.com)
MQTT Explorer is a comprehensive and easy-to-use MQTT Client.
Downloads can be found at the link above.This page is dedicated to its development.
Pull-Requests and error reports are welcome.## Run from sources
```bash
npm install -g yarn
yarn
yarn build
yarn start
```## Develop
Launch Application
```bash
npm install -g yarn
yarn
yarn dev
```The `app` directory contains all the rendering logic, the `backend` directory currently contains the models, tests, connection management, `src` contains all the electron bindings. [mqttjs](https://github.com/mqttjs/MQTT.js) is used to facilitate communication to MQTT brokers.
## Automated Tests
To achieve a reliable product automated tests run regularly on travis.
- Data model
- MQTT integration
- UI-Tests (The demo is a recorded ui test)## Run UI-tests
A [mosquitto](https://mosquitto.org/) MQTT broker is required to run the ui-tests.
Run tests with
```bash
# Run chromedriver in a separate terminal session
./node_modules/.bin/chromedriver --url-base=wd/hub --port=9515 --verbose
```Compile and execute tests
```bash
npm run build
node dist/src/spec/webdriverio.js
```## Create a release
Create a PR to `release` branch.
There needs to be a "feat: some new feature" or "fix: some bugfix" commit for a new release to be created## Create a beta release
Create a PR to `beta` branch. A "feat" or "fix" commit is necessary to create a new version.
## Write docs
```
git clone --single-branch -b gh-pages https://github.com/thomasnordquist/MQTT-Explorer.git mqtt-explorer-pages
cd mqtt-explorer-pages
bundle install
bundle exec jekyll serve --incremental
```Readme file: `Readme.tpl.md`
Preview is available at
http://localhost:4000/Readme.tpl## Update docs
```
npm install
./updateReadme.ts
```The readme will be generated from the docs.
## License

[CC-BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0/)The license is a little restrictive to distributing derived work, this may change in the future if the interest arises or more people work on this project.