Giter Site home page Giter Site logo

thomasnordquist / mqtt-explorer Goto Github PK

View Code? Open in Web Editor NEW
2.8K 69.0 273.0 16.53 MB

An all-round MQTT client that provides a structured topic overview

Home Page: https://mqtt-explorer.com

License: Other

HTML 1.02% TypeScript 96.75% JavaScript 0.73% Shell 1.31% Dockerfile 0.20%
mqtt mqtt-explorer homeautomation mqtt-client mqtt-smarthome mqtt-tool

mqtt-explorer's Introduction

Downloads Downloads Build_Status Build status Codacy Badge

screen_composite screen2_small screen3_small

The App has moved to 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

npm install -g yarn
yarn
yarn build
yarn start

Develop

Launch Application

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 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 MQTT broker is required to run the ui-tests.

Run tests with

# Run chromedriver in a separate terminal session
./node_modules/.bin/chromedriver --url-base=wd/hub --port=9515 --verbose

Compile and execute tests

npm run build
node dist/src/spec/webdriverio.js

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
CC-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.

mqtt-explorer's People

Contributors

bj00rn avatar dependabot-preview[bot] avatar dependabot[bot] avatar dubyte avatar greenkeeper[bot] avatar jcwillox avatar klaernie avatar paweldefee avatar thomasnordquist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mqtt-explorer's Issues

Rename arm64 releases

People tend to mistake it for amd64 and may think the app is broken.
The arm64 release has more downloads than anticipated.

Increase resilliance

Under which conditions could the app crash.

  • test invalid localStorage data
  • Log errors within the renderer process
  • Report renderer errors
  • Report main process errors

Add Amazon MQTT support

Needs certificates, possibly a different mqtt lib.
(amazon examples ship with a working lib)

Show latest value first in history

When you open the history of a value the top of the table is shown with the oldest value.
I would expect to the the most recent values first.

image

Feature: VSCode extension

First - this tool is amazing, the hierarchical view of MQTT namespace is crazy handy and I've already ditched MQTT Lens and MQTT Spy in favor of this. Thanks!

Anyway, one feature that would be killer would be IDE integration, so one could have a pane open watching traffic and then copy/paste things in and out into your code on the fly. I'm a VS Code fan, and I'm making an assumption that bringing this electron app over in to VSCode (also electron) may be do-able. I've never do-abled anything like that, so I may be completely wrong :P

Thanks again for this awesome tool @thomasnordquist !

Reduce application size

It appears there are way too much node_modules in the distributed executables.
electron for instance appears to be packed twice.

Allow empty messages

This is important to clear retained messages.

Question to myself: should cleared topics be still visible in the tree ?
Maybe add a setting in the left sidebar...

Root topic won't expand after it has been collapsed

It appears that somehow the root node won't update at all when collapsed.
Clicking in the body will restart rendering. It also appears to be limted to crowded MQTT servers, where the initial render time is very long.

Parse JSON array with null element(s)

If I publish the following message, the payload is correctly parsed as a JSON array:

[1,2,3,"a","b","c"]

The following (spec-compliant) payloads will not be shown as JSON arrays:

[1,2,3,,"a","b","c"]
[1,2,3,,"a",,"b","c"]
[1,2,3,,,"a","b","c"]

Purge retained topics hierarchy - recursive removal

I would find it very useful to be able to select a 'top' level topic and delete all the retained messages underneath. A bit like selecting the new retained/delete option but higher in the hierarchy.
Otherwise it's a laborious task....

Replace update notification

We currently use the auto-update feature to notify the user if auto-update fails.

It would be better to query the github release API. It is unknown what the behavior of the autoupdater is when updating is not possible.

MQTT broker loading indicator

As you already subscribe to all topics I wonder how easy it would be to provide an indication of the broker loading in messages/min or /sec or similar, maybe a recent historic max figure too ?

It would be a useful indicator to me of the broker usage. It's only a nice to have and I wouldn't want you to impact the overall performance of the application however.

As a related stat it's not possible to get the number of connected clients information is it ? (I believe not)

Add graph for history of values

It would be nice if you could open a graph generated with the last received values of a topic.

This would be usefull for debugging sensors like temperature etc.

Just an idea ๐Ÿ˜‰

Alerts/Errors while closing app

When closing the window, messages are still sent via the IPC to the window, even though it has already been deallocated.
Fix: close the connection before the window closes

Disable rpm, deb, tar.gz: evaluate upgrade path

Should just be a notification like currently in OSX.
=> Small notification top right corner
=> query github api for last release and offer a link

Debug how much the existing update already tells us about updates on linux.

Add screenshots

Edit: update screenshot
Edit: removed outdated screens
Add os icons from icons8.com/icon/set/apple/color:

icons8-apple-logo-96
icons8-linux-96
icons8-windows8-96
icons8-ubuntu-96

icon

the screen stays black or empty

Hello,
does not work for me ...
first you see in the middle a few rotating rings, even after a while the screen stays black ...
0.0.7 portable on Win7 64bit
First I installed the 0.0.5 portable, then the version 0.0.7 via setup and then the version 0.0.7 portable (after uninstalling 0.0.7 via uninstall)

Doesn't connect

screenshot from 2019-01-15 19-53-57

Stays on there, doesn't connect

Ubuntu 18.04LTS
Version: MQTT-Explorer-0.0.5-x86_64.AppImage

Messages are cut off in the tree view.

bildschirmfoto 2019-01-19 um 19 08 59
The tree view is a convenient way to monitor several topics for changes and their respective messages. Unfortunately, the messages are cut off even though there is enough space. See the attached screenshot for reference.

Patrick

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.