Giter Site home page Giter Site logo

mqtttoolbox's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @ItHasU, my real name is Matthieu Aubry. My nickname comes from the The Matrix (Has You).
  • ๐Ÿ‘€ Iโ€™m interested in everything that can be programmed
  • ๐ŸŒฑ I've been working in the field of computer science since 2006.

As I cite Cervval, I would like to mention that the repositories here are only personal projects.

mqtttoolbox's People

Contributors

dependabot[bot] avatar ithasu avatar

Stargazers

 avatar

Watchers

 avatar  avatar

mqtttoolbox's Issues

Cron

It would be useful to plan some actions/messages that would be schedules as a cron job. This would allow to schedule repetitive actions for some devices (heaters, lamps, ...)

Tasks

  • Allow to add a new planned message
  • Group planned messages by scenario
  • Name scenario
  • Allow to enable / disable scenarios
  • Plan next message to be sent from current date & scenarios (+ unit test)

Enhanced docker support

  • Handle correct signal when docker stop is executed.
  • Make sure scheduled messages are well stored before exit.

Multiple dashboard

It would be nice to allow multiple dashboards. The user would be able to switch between them.

If multi-user feature is developed, it would be nice that users can share the dashboards.

Trigger scripts

Write scripts in the browser, run them on the server at any time.

Possible triggers:

  • Time (At, Cron, Interval ...)
  • Topic
  • Custom Event (from another script, from HTTP API)

Live update of values

Allowing user to get live updates of values would be great instead of fetching new values every 2 seconds.

Geo support

  • Add a map with openlayer
  • Display location of things from MQTT message

Create config file if needed

If config file is not existing or config file fails to load, create a new one empty.

If the config file exists but fails to load, a copy should be created to avoid loosing everything if it can be manually fixed.

Save messages history on exit

When updating the app, all saved messages are lost. It would be great that values get saved so we don't need to get them again when restarting the app.

Full screen dashboard editor

The current editor for the dashboard is not convenient to use since it requires to switch between the "Config" and the "Dashboard" pages.

Also the editor is relatively small on the page.

Notifications

Trigger a notification when a message is received.

Authentication

Feature

We want the HTTP server to make sure that only authorized users can access to the API and files.

Validation criteria

  • User can login using a secret ID
  • Authentication must be transfered in a secure way (over HTTPS)
  • If not authenticated, any route other than login must return 401.

Tasks

  • Define authentication strategy
  • Search for an existing middleware or implement a simple one if possible to limit dependencies

Schedule

Allow the schedule of MQTT messages to postpone the publishing of a payload on a topic.

Cron not handling time zones

Cron tasks are scheduled on the docker image time zone. It should be executed based on the server time zone or the client time zone.

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.