Skip to content

thomasnordquist/MQTT-Explorer

 
 

Repository files navigation

Downloads Downloads Build_Status

Version 0.1.3

See the whole picture of your broker.

  • What topics are active?
  • Which retained topics are abandoned?
  • Where is this new device / service I connected to the broker?

MQTT-Explorer strives to be THE swiss-army-knife tool. The perfect tool to integrate new services, IoT devices in your network. The hierarchical view allows for a quick understanding what is going on on your broker.

The app is available for Windows (portable, installer), Linux (AppImage) and Mac (dmg).

Screenshots

screen1

Download

Platform Downloads
windows Windows portable, installer
linux Linux AppImage
Run AppImage:
Make it executable and double-click it.
mac Mac dmg

More Downloads

Demo

screencast

Performance

This App is optimized to handle thousands of topics and at least hundreds of thousands messages per minute. So don't worry if you got >=10k topics and >=100k messages per minute.

Future releases will allow for a more granular selection of subscribed topics to handle

Develop

PRs and issues are welcome

Install with npm run install, build with npm run build

Start with npm run start

The app directory contains all the rendering logic, the backend directory currently contains the models, tests, connection management.

Automated Tests

To achieve a reliable product automated tests run regulary on travis.

  • Data model
  • MQTT integration
  • UI-Tests (The demo is a recorded ui test)

Telemetry

The App sends telemetry and error reports, this enables me to quickly react on bugs/errors I produced. This is a difficutlt task since this App runs on three different operating systems and architectures.

It basically sends: app version, processor architecture, operating system, used memory, user interactions and error stacks.

This greatly helps to improve the software quality and reliability. No data about you or your data is send or stored. Even thoug the data is purely technical, an option to disable telemetry is planned. #52

Example telemetry:

{ system: { arch: 'x64', platform: 'darwin' },
  appVersion: '0.0.7',
  events: { HELLO_EVENT: [ 1547714886134 ] },
  now: 1547714886135,
  transactionId: '1767d251-f492-4f2c-aa62-88add3acc26b' }
{ errors:
   [ { time: 1547714887921,
       message: 'He\'s dead Jim!',
       stack:
        'Error: He\'s dead Jim!\n    at ./src/tracking.ts.exports.default (./mqtt-explorer/app/build/bundle.js:142765:11)\n    at new Promise (<anonymous>)\n    at Object../src/tracking.ts (./mqtt-explorer/app/build/bundle.js:142764:1)\n    at __webpack_require__ (./mqtt-explorer/app/build/bundle.js:20:30)\n    at Object../src/index.tsx (./mqtt-explorer/app/build/bundle.js:142618:1)\n    at __webpack_require__ (./mqtt-explorer/app/build/bundle.js:20:30)\n    at ../backend/node_modules/charenc/charenc.js.charenc.utf8.stringToBytes (./mqtt-explorer/app/build/bundle.js:84:18)\n    at ./mqtt-explorer/app/build/bundle.js:87:10' } ],
  now: 1547714887921,
  transactionId: '53bf9aac-e695-40cc-9a81-b1cf3398843d' }

License

AGPL 3