IoT MQTT Panel FAQ and Feedback

The purpose of this article is to provide FAQ answers of “IoT MQTT Panel” application. This is the place where you can leave your feedback and suggestion for this app.

Google Play Store links:

Pro version: IoT MQTT Panel Pro

Free version: IoT MQTT Panel

Which protocols are supported?

This app supports MQTT (TCP) and Websocket protocol.

Does it support TLS/SSL?

Yes, it supports SSL. You can use ca or self-signed x509 certificate for encryption.

Which QoS supported?

Only Qos 0 and 1 supported.

What is the datatype of the payload?

To keep the app simple all payloads are implemented as string type.

Is it possible to publish and subscribe with different topic?

This application has multiple panels which can publish a message as well as subscribe message. For these panels, you have options to configure publish and subscribe topic separately.

Does it support JSON Data?

Yes, it supports JSON Data.

Subscribe JSON Data: You can parse received messages using simple JsonPath. The supported JsonPath are listed below.

$ The root object/element
@ The current object/element
. Child member operator
.. Recursive descendant operator
* Wildcard matching all objects/elements regardless their names
[ ] Subscript operator
[ , ] Union operator for alternate names or array indices as a set
?( ) Applies a filter (script) expression via static evaluation
( ) Script expression via static evaluation

Note: Only single quote is supported inside JsonPath expression. Script expressions inside of JSONPath locations are not recursively evaluated by JsonPath. Only the global $ and local @ symbols are expanded by a simple regular expression. This application does not validate JsonPath you provided. In case JsonPath is invalid or it does not match with any data it simply gets ignored. For debugging please use the Text Input and Text Log Panel.

Publish JSON Data: You can wrap publish data into a JSON format. For example, you have configured {“kitchen”: {“fan”: “<slider-payload>”}} as JSON pattern. Now if you set slider value to 10, then <slider-payload> will be replaced by 10 and finally {“kitchen”: {“fan”: “10”}} will be published. You can use multiple replaceable variable like <timestamp>, <client-id> etc. depending on the context. To know all available variables, press the inline help button while configuring the panel.

How all devices are organized?

When we make a Smart Home ideally, we generally deal with multiple devices, sensors. Each device connects multiple sensors and transducers which have their own topic and messages. IoT MQTT Panel application is not only designed to visualize the various IoT states but also organize these connections, devices, messages etc. The below figure represents basic architecture of a typical Smart Home application.

IoT MQTT Panel User Guide



Connections: This application can manage multiple connections. Each connection can be connected to a configured broker. For an instance, you have a local broker hosted in Raspberry Pi and another one in a public broker in internet. When you are at outside of home public broker is used and inside home you use local broker for faster response. To manage this two connection efficiently you should create two connections with appropriate configuration.
Devices: Every connection contains multiple devices. This provides visual separation when you are using multiple IoT devices. For example, you have a Raspberry Pi in your drawing room and a ESP 8266 in kitchen. For this you should add two separate devices under a connection.
Panel: In most cases, you connect multiple sensor and transducers to an IoT device. Suppose you have a temperature sensor connected to Raspberry Pi in drawing room. Additionally, the Raspberry Pi is connected to light switch and fan speed controller. So, you should create a Vertical Meter (for monitoring temperature), a Switch (to turn on or off light) and a Slider (to control fan speed manually) panel under the Raspberry Pi device.

What is device prefix?

When you configure device prefix it will be automatically prepended to all panel’s topic under the same device. This is helpful for public broker. Please refer the User Guide for detailed explanation.

How device status works?

To make the device status work you need to configure it in device settings. This does not work out of the box. You need to explicitly implement the logic inside the device (e.g. ESP 8266 module or Raspberry Pi). It should publish online or offline message to notify the mobile application. Please refer the User Guide inside the app for detailed explanation.

Why panel state lost when starting the app or navigating to another page?

When the mobile app starts, it does not know the actual state of the IoT device. For this reason, the panels get reset to default value. While you navigate to other page, you have privilege to update configuration. To get desired output we need to re-initialize device every time you open it.

Is it possible to retain the panels state?

Yes, to retain the state, you need to enable retain flag of each panel. This will ask broker to send the last published message whenever the device get connected.

I hope this FAQs are useful to you. For detailed user guide please refer info page inside the application. If you have any other question please feel free to leave a comment.

Posted in IoT

110 thoughts on “IoT MQTT Panel FAQ and Feedback

  1. Hello Rahul,
    I’ve a question for you. I’ve just upgraded my phone from Oreo to Pie and used Titanium backup without thinking to backup and restore all user apps. IOT pro did not restore correctly and simply starts as though it has no configuration. This could be my issue only, i didnt particularly take care/check my backup and had the non pro version installed at the same time. This is a bit of a personal pain for me but not impossible situation. I’m assuming any normal upgrade (upgrade in place, not my backup/wipe/restore) should be okay? But my question is would you consider, as export to json seems such a quick operation, keeping daily automated json backups in the filesystem for maybe 10 days. Extra points for cloud/google drive back copies. I know there are security/password concerns but we’re talking about Mqtt for houses (mostly) not banks. Thanks for your time. (Lineages 15.1 on redmi note4 to Asop Pie)

  2. Looks like if two phones are trying to access the panel one or another gets a recurring out of connection. Is this possible?

    1. If you are using same MQTT client id, when one connection get established another gets automatically disconnected. This behavior is followed by most of the MQTT broker. So please check your client Id.

  3. Hi Rahul,

    Thanks a lot for really extensive comment 🙂

    Yes, I agree that such automatic state changes might potentially introduce some confusion if misunderstood, especially for beginners.

    Using “Remote Device Status” is also an option as you mentioned, but, on the other hand, it gets a bit tricky once you have a lot of IoT devices and you want to group them, for example by functionality, as I do. I have plenty of IoT devices in my home, and to avoid creation of separate “device” panles for each and every of them, I have goruped them into more convenient “lights” or “sensors” panels. It means that I have several switches and sliders under single “device” – each pair of switch and slider to control separate lamp. I can use “Remote Device Status” to send common status request to each lamp subscribed to defined “Remote Device Status” topic, but then I will never get unambiguous responce from them as “Remote Device Status” accepts only single value on predefined topic as “online”. For that reason I had to add also LED panel to my “lights” device indicating status of each lamp (online or offline).

    In my deployment it is important to have the response from end devices, because it can be then used for decision making in some home automation scenarios – this is also the reason why I have reused that to handle switch state in your app (as a confirmation of execution of requested operation).

    I guess it is on of more complex use-cases and I do not have any good suggestion for changes in this matter (if any are really needed here), but just wanted to share with you what could be faced also by other users in their deployments. I believe it will help you to enhance your already great app further more 🙂


    1. Hi Pawel,

      Yes, you have a valid point. Logical grouping was one of the most important reason for creating “Device” feature. The way you are grouping is necessary in some use cases. But I have to I agree that “Device Status” is not much helpful in this scenerio. I will re-think how to improve in this area.

      I am hoping some other users also read our extensive discussion and we will get awesome ideas. I believe that is the only way to make this app better. I want to thank you for sharing your idea and use cases. 🙂

  4. I dont know if this happened earlier, but right now the app is a battery hog. Took 60% of the battery usage in 4 hours.

    BTW, implement a bug/suggestion tracking system, this page is too cumbersome and unprofessional.

    1. Thanks Gabriel for your comment. Yes, this app is little bit battery hungry if background mode is on. This is due to keeping a connection open pings broker in every few seconds. I am always trying to optimise it as much as possible. But I hope you understand technical limitations.

      I will try to improve this page for easy tracking or I will move it to another suitable place in future.

      1. I do not have the background mode on and it still sits comfortably as the most battery hungry app even when used just a couple of minutes a day. Background and front usage is not high, but still. I have to force close it.

        1. Hi Gabriel,
          If you are just minimizing the app, it will run in background even background mode is turned off. This is more like Android behavior. But if you pressing back-button to exit from app it should terminate the app when background mode is turned off. Please let me know if you are experiencing differently.

  5. Hi Rahul,

    I really like the last update with possibility of creating shortcuts to certain devices – nice work 🙂

    I have two more ideas:
    1) current icon of the shortcut is exactly the same as main app icon – I am not sure if that is possible, but maybe shortcuts could use the device-specific icons that you have added few days ago?

    2) maybe more important that point 1 🙂 -> message timeout. For some of the panels (for example switch), there is possibility to define “Topic” and “Subscribe topic”. I use that to send command to “Topic” and get the response (status of the operation) on “Subscribe topic”. I have observed that in case the physical device if offline for any reason, I can send the request (to turn on the lamp or whatever), but the response never arrives obviously. Nevertheless, switch changes to the “on” position, even there is no status confirmation. Maybe it would be good to add kind of timeout option – when there are defined both topics, you can send the request and wait some time (5 seconds?) and revert to the previous state if no response on “Subscribe topic” is received?
    In case of my lamp it would behave as follows: I use switch to turn it on, message is sent to the “Topic” and icon/control on the panel changes to the “on” state, if no response on “Subscribe topic” received within timeout period, icon/control on the panel reverts to “off” state

    1. I am glad to know that you like the shortcut feature.

      1. I also thought about the same. Current image is a base-64 image. The icons for devices are SVG image. Right now I have no knowledge how to dynamically generate or combine base-64 images. I will do some research for it. I believe it will be cool if I can achieve it.

      2. Lets discuss about some challenges about message timeout.

      – The timeout duration is really tricky even it is user configurable. Some time it takes time longer than expected. Every time you turn on / off the switch you have to wait timeout duration e.g. 5 seconds.
      – Your physical device is configured to send back feedback message. But the feedback message may not follow the sequence. For example you send “On” and “Off” message sequentially. There is a possibility that feedback for “Off” message reached before feedback of “On” message. Now even the physical device is off switch panel will show it is on.
      – To avoid above state issue you may use same topic for subscribe and publish. In this case automatic reverting the switch after timeout is really confusing for determining the state of last published message. For example you changed the switch from “Off” to “On”. Now the “On” message did not reach to the physical device. After 5 seconds the switch will be moved to “Off” state again but this time it did not publish “Off” state. This is a big confusion. The last payload was “On” but the switch is showing “Off” state.
      – The different publish and subscribe topic option is available in all panels where it can do both publish and subscribe. Think about other panels apart from the switch like slider, combo box or radio buttons. It crates flickering everywhere. I don’t think the experience with waiting for feedback will be very pleasant for those panels.

      I understand your concern. When I started the project I also thought about some kind of feedback. The experience was really bad. I realized that I am not going in MQTT protocol’s way. So I took an alternate approach that is more aligned with MQTT. I implemented “Remote Device Status” which tells you if a physical device is connected or not. The configurations are available in device settings. There you can configure three messages 1) online 2) offline and 3) sync request. Your physical device must publish “online” message when it establishes a connection. You also need to configure the “offline” message as physical device will message. Both of these messages must enable “retain flag”. Now your device titlebar always indicates if the physical device is connected or not. Ideally your physical device(e.g. ESP8266) contains multiple input and outputs(light switch, fan switch, temperature sensor etc). If you know your physical device is online you can reliably publish any message for it. You should also consider MQTT protocols built in QoS and Retain feature. By enabling retain flag you can assume that message will be delivered once the physical device is online. The “sync request” message helps you to manually tell your physical device to re-publish it’s current status (sensor, transducers).

      The Remote device status and Retain flag together provides some level of reliability. In case more specific info is needed you always can use log panel. Log panel accept wild card. So you can monitor multiple topics in a single panel. This is helpful if you do not mind to add an extra panel. 🙂

      As an IoT user I also want to implement message feedback. But we need to consider some points. 1) It must be reliable in all scenarios. 2) The working principle should be understandable to both beginner and advanced users. 3) Should not break the way MQTT expected to work to avoid confusion 4) The implementation should be feasible and maintainable.

      I am hoping I will get some perfect idea by myself or from my app users suggestion. I am exited to do some improvement in this area.

      Feel free share more thoughts.

      Rahul Kundu

  6. Hi Rahul Kundu

    I bought Pro Version: IoT MQTT Panel Pro,
    but I do not know how Enable notification works. Do you have a document about this?

    After 12 hours the App has restarted and I lost the collected data is normal this.

    1. Hi Abilio,

      Thank you for purchasing pro version.
      Enabling notification is pretty much straight forward. Any panel that can subscribe a topic, you will get an option to enable notification. Click option icon (3 dots) on the panel, then edit panel and enable it. Two things you need to remember.
      1. When a connection is in foreground the notification is turned off. It is bit annoying to get notification when you are looking at the panels.
      2. You must enable background running and auto connect options to get the notification seamlessly.

      Notification still is in experimental phase. If you get any issue feel free to make a comment in this blog.

      I believe for “collected data” you are referring data in “line graph”. Yes, when the app is restarted line graph starts from beginning. If the app gets terminated it does not get any data and plotting will be inaccurate. Also as this is a mobile app it can handle limited data, beyond that performance gets impacted very much. Right now the max limit is 100. When this buffer is full older data gets deleted.

  7. Hi Rahul, this is the nicest dashboard i’ve seen, well done and thanks for all the hard work.
    Here’s a couple of suggestions:
    Can the panels that don’t have a subscribe option get them? I’m thinking Time Picker, Text Input.
    Can buttons have a narrower panel without title?
    How about a ‘lock’ mode that still allows inputs but hides the 3 dot menu on each panel? Would look neater and stop accidental presses and make vertical scrolling easier.
    I would like a range slider with start and end settings. For example, to set active hours for a device to 8-17 with a slider would be neat and use much less space than two Time Pickers. Would need two sets of topics.
    Finally, anything you can do to reduce the height of he panels to squeeze more on a page would be great.
    Thanks again for the rapid responses you have given to others, great work!

    1. Thanks Peter for your suggestions. This will definitely help me to improve the app in future. Keep updating the app from play store.

  8. Hi, one suggestion, I wish there was a button style “on and off” with timer.
    Thank you, your work is very good.

    1. Hi Raphael,

      Thank you for your comment. “on and off” with timer eventually means publishing a message automatically. As this is a dashboard application it does not provide automation feature for now. I will analyze the scope and feasibility and update in near future.

  9. Hi, Its really nice application, thank you. Do you plan to implement “image” panel? I’m using MQTT Dash, where you can add image panel with three options. First, image can be received as payload from topic, second, in payload can be URL for image and the last one, MQTT message is only an event to reload preset URL of the image. I thing, it can be very useful, for example Interactive door camera, which send you photo when someone ring the bell.

    1. Hi Filip,
      Thank you for your comment. The second scenerio can be achieved by “URI Launcher”, though it will open in an external application. I will analyze all of these use cases and update the app soon.

    1. Hi Gabriel,

      I also thought about combo panel or mixing panels. But I realized that the possibilities of combo panels are endless. So took a different approach. I introduced flexible panel width. It is not exactly same as combo panel but you can make similar visual appearance. For example you want mix and one button and two switches in a panel. So what you can do is create a button panel and a switch panel (both of these panels accepts multiple items of same type). Now you can give 1/3 panel width to button panel and 2/3 panel width to switch panel. So the two panels will appear in a single row. This approach helps to keeps the app more clean, maintainable and robust.

      1. Combining this panels is really a big challenge. Still I will look for UIX improvement and update in future releases.

  10. Love this app! Suggestions:
    1. As already stated, widgets.
    2. 8 bucks for the pro version is too much, 5 is more palatable. You may allow widgets in the pro version, would be a good selling point. But again, 5 bucks, not 8.

    Keep up the good work!

    1. Hi Gabriel,

      1. Yes, home widget is one improvement kept in my todo list. The technology I am using is not giving me enough flexibility to implement it in straight foreword fashion. Still I am trying to find a way to achieve it. Will update as soon as possible.
      2. There is couple of reason for the price. I believe there is no app available in the market at present which is offering as much features and flexibility as my app. To build these many features and maintain them it takes huge amount of effort. It took more than 2 years to build it and I still adding features regularly. And most important thing is the number of target audience is negligible compared to common consumer app. I hope you understand me. Support from users is my only motivation. Hence I request everyone to provide positive feedback at play store and purchase the app so that I can continue development and maintenance.

    2. Hi Gabriel,
      I have implemented “shortcut” feature for devices. This will allow you to open any device directly without opening connection page.

  11. Sometimes it is very important to know how much time has passed since the information was updated. It’s good to add the ability to display in each panel in fine print the elapsed time since the last update.

    1. Yes, I thought about this concern for number times. But this is a limitation from MQTT behavior. Let me explain.

      In MQTT protocol publisher and subscriber does not know each other, they are connected through the broker. The protocol relies on QoS and Retain. This guarantees that the message will be delivered at some point of time. There could be many reason (e.g. network delay or network down etc.) for a large time lag between message sent and received. The mobile app only can know when the message is received. But completely unaware about the timestamp when it actually published. If the ‘sent timestamp’ is critical for someone ‘received timestamp’ can be misleading.

      So what the workaround can be done. The publisher can also publish the ‘sent timestamp’ as an additional message or combine with actual data in JSON format. Again this is only possible if you have complete access to the publisher. In my app each panel is designed to fulfill a single purpose. So if the timestamp is published you can levarage Text Log panel to display it. Text Log is very flexible, you can configure it according to your need. You can place these two related panels (timestamp and actual panel) side by side for better visualization.

      A limitation from my app is placing the timestamp. There are huge number of users who has mobile with low resolution. The timestamp also could be a very large string (time and date). This can easily break the UI completely. Believe me, this is a real pain to make it work for all panels with all mobile resolution.

      Still I will keep looking for a better solution, which is appropriate for most of the scenarios.

  12. Your app is really good! Would it be hard to implement landscape mode? Also you could add text panel. To receive and display data without any other buttons, icons etc. Just text, it would be good if you want to only display temperature and not interact with it anymore.

    1. Hi Damien,

      Thanks for your comment.

      Yes, landscape mode is a very big effort. Number of things will brake because of huge variety of resolution. I will work on this once other major things are done.

      Indeed you have a text only panel called “Text Log”. This panel was initially intended for debugging purpose. Now I have added multiple options to it. You can easily configure to display a single value and hide all unwanted contents. However for displaying temperature I will suggest you to use “Vertical Meter”. This will not only allow to display the text but also shows visual representation. There are number of panels that are read only. You can use any one of them according to your need.

      1. But using “Text Log” does not allow to add units (for example Fahrenheit/Celcius degrees for temperature, etc.) – it would be great to add possibility of adding the unit as in case of other read-only fields – it would instantiate fully operational log and text field

  13. Hi!
    Error is noticed highly discreet eye.
    In establishing a panel type “gauge” with specified ranges “payload” when entering values for border sets the pointer visually incorrectly.
    The arrow should be rest against delimiters.
    Insert the trimming values to the range.
    I hope my message will help application better.

    1. Hi Andrey,
      Constructive feedback defiantly helps to make the application better. Thanks for your comment.
      Can you please share the range and some sample value so that I can reproduce the issue easily.

      1. Yes of course! The range of values that a variable takes is between -9 and 255. It is important to display only the range from 160 to 255. For values less than 160, the arrow goes to the next circle. With a value equal to -9, it is fun to stick out in the first third of the scale. Is it possible to apply a function similar to “constrain (x, a, b)”? And the coloring of the scale only to the left of the arrow is not very obvious, if the arrow is at the very beginning. And if the left part is the most critical, and a narrow strip is barely visible – due attention will not attract. I suggest painting the entire sector.

        1. Thanks Andrey for your explanation.
          Ideally you should select the range from -9 to 255 if the possible values of that variable between -9 and 255. Alternatively if you only care about 160-255 you should only publish when the value is in the range. In this case you can select the range 160-255.

          But still I think this is an interesting use-case. What I will do is discard all out of range values. Also address other suggestion as much as possible in upcoming releases.

          1. Published raw data, due to the fact that they use other equipment in the entire range. And the user is only interested in a small range.

          2. Yes, I understand your point. No worries, updates will be available in couple of hours, and this scenario will be handled.

        2. Hi Andrey,
          I have updated the app. Now the gauge will discard out of range values (but the text will show actual value). Also color will fill entire arc to get better visibility for smaller values.

          Feel free to share more feedback.

  14. Hi have iot mqtt pro, like this App and will never miss, good work, have one question regarding the led panel. If I try to adapt digital input channel of donkovi SmartDEN_Notifier board to led panel, than i get no update on it, if I add it to Text Log Panel than i get on of messages, will it be possible to adapt this to led panel also. Thanks A.K.

    1. Hi Ahmet,

      If you are getting on message to Text Log Panel it should work with LED Panel too. Unfortunately I do not have SmartDEN_Notifier board to test. But if you can share the topic and on / off message published by SmartDEN_Notifier, I can help you to configure. I believe the configuration would be very simple.

  15. Hi,
    I’m also among those looking for a cool app controlling my various MQTT devices, and this one looking really promising!
    What I’m missing right in the beginning are two security related things:
    – no user/password authentication
    – SSL CA certificate to be stored in my mobile’s file system
    – no way to use an already existing certificates stored in device’s ‘trusted credentials’ area.

    Also, I’ve read you’ve enabled ‘any character’ for Connection, Device and Panel names – could the same (UTF-8) also be allowed for Topic and Subsribe Topic, as specified here: ?

    Thanks a lot for doing all this, will consider using this with added security (and, of course, going Pro).

    1. Thanks Andreas, for your feedback.
      – Indeed this app does have user / password authentication. Press “Advance options” while adding / editing connection to get username and password field.
      – This app allows to establish SSL connection through CA certificate. I will explore about ‘trusted credentials’ in future.
      – Yes, as per the protocol UTF-8 characters are allowed as topic. I introduced this validation to increase reliability and reduce some coding complexity. I will update the app after re-analysing complexity and impact of removing this validation.

      Feel free to share more feedback.

    2. Hi Andreas,

      I have updated the app and now it will accept UTF-8 characters as topic. Please update the app from play store.

  16. It is a wonderful app. I’m developing my home device with esp8266.
    Is there a way to have pushed notification when the app is in back ground. I.e when some telemetry values reach some defined values or threshold? This could be interesting to use it like warning monitor.

    1. Hi Alex,
      In simple yes, you can do it using this app.

      In the pro version of this app has notification feature. It can run in background and notify you.
      Now, this app is a dashboard app. I strongly believe, this app is not proper place to write automation logic. But this should not block you anything. So, what you can do is write your decision making code inside ESP8266 and use this app as notification medium. I am giving you an example.
      Suppose you wish to get notified when temperature goes higher than 35°C. While you are measuring the temperature in ESP8266, check if the temperature is going beyond 35°C. If yes then publish a MQTT message “Temperature alert”. Now, in the mobile app choose any suitable panel(e.g. Text Log / LED Indicator) and subscribe the alert message with notification flag enabled. The app will show notification once it gets the warning message. Remember the app shows notification if the same connection is connected but not in open condition.

      For critical warning monitor you always should consider unpredictability of internet and network delay.

      Please feel free to share your thought.

  17. Meant to also say, THANK YOU, I’m excited to experiment with this app and contribute toward your support via the purchased edition.

    1. Thanks Eric for your comment.
      Yes, as per MQTT standard spaces are allowed as topic name. But this is not a good practice. The link provided by you clearly mentioned it. See the section “Don’t use spaces in a topic” under “Best practices”. I feel they are right about “A space is the natural enemy of each programmer, they often make it much harder to read and debug topics, when things are not going the way, they should be.”

      I added the validation so that user can use MQTT reliably. Apart from that I don’t see any use case that is blocked because of this.

      I am really happy to know that you are going to purchase the paid version. This will definitely encourage me to continue the development. Feel free to share more feedback or question.

      1. If it’s allowed then validation shouldn’t block it, in my opinion. Since this tool doesn’t deal with allowing users to create topics, it shouldn’t be opinionated about it (beyond the requirements of MQTT). In my case I have no choice about the spaces–they’re automatically added by the bridging between my SmartThings home automation and MQTT. Because the validation oversteps the minimal requirements of MQTT, I’m unable to use it for my home automation. 🙁

        1. Ok, I will check if this app can handle spaces in topic name without compromising reliability. I will update as soon as possible.

        2. I have allowed spaces in topic name. Note that trailing (at beginning and end) spaces will get trimmed.
          Please update the app from playstore to get this change. Let me know if this works for you.

  18. Hello, really nice app! Can you give us an example for charts?
    I’ve tried with comma separated data in the topic (timestamp, value an then newline) an json ( [{“stamp”:”2018-06-09T19:35:58.813856056Z”, “level”:”17.7980613708″}, etc) but nothing works.
    Is there any explanation for these types of panels? Thx

    1. The time stamp is only applicable for Line Graph. I believe you are referring the same.
      You need not to publish timestamp along with your message. The app takes the message received timestamp for reference. For example you published the level 15,16 and 17 at 10:00am, 10:05am and 10:10am respectively. The mobile app automatically captures corresponding times when it receives the messages. You can use plain message or JSON data for sending these values.

      It is very hard to provide the flexibility to capture timestamp from publisher. This timestamp could be seconds, minutes, hours, days, months apart. It’s format could be anything. And more than that I could not see much real world scenerio. Because you can publish the value immediately you capture it. The only down side I can see the network delay. Most of the cases it will be 1-2sec. I believe that is acceptable considering this is a light weight mobile app and can’t provide precision in milli-seconds. Only you should keep in mind not to retain these values.

      The chart (pie) and Bar graph does not need the time stamp. It only shows last received value. You can refer the screenshots provided at User Guide for better understanding. Here are examples.
      1. Bar graph: You want to plot three different temperatures (e.g. Kitchen, Dining, Outdoor) in a single graph. You can configure individual topics(home/kitchen, home/dining, home/outdoor) for each them. Once the value received by the app it will show in graph. If the value is re-published then the app replaces old value. Alternatively you can send the values in a single topic using JSON data (with different JSON path).
      2. Chart: It behaves similarly but represents the value in percentage share.

      Feel free to ask more question or sharing your thoughts.

  19. Hi Rahul, thank you for your work again and again! I need time picker in 24 format hour, because there is not difference in published payload, between pm and am. Can you help me?

    1. Thank you Michele, for bringing my attention. Yes the time should be in 24 hours format. I will fix this bug as soon as possible and update you.

  20. Hello, nice app, please inform if it already accepts IPV6 as broker address. Here in Brazil we are not getting outside IPV4 access anymore (ISPs are using CGNAT).

  21. Hello, i need to get (or understand how to) a specific json field, can you tell me what to read to understand how to do it myself?
    im publishing this {“tierra”:20,”humedad”:54,”temp”:20}

    1. You can use following jsonPaths to get tierra, humedad and temp individually.
      $.tierra, $.humedad, $.temp

  22. Hi Rahul. Best MQTT app I have seen! If I could make a wish, I would like to be able to change the text size of the text inside a text log panel.

  23. Hi Rahul, the bug I mentioned, if I configure the text log panel device, it actually shows me the topic path on the final displayed panel, as well as the payload. That’s fine for debugging log files but if I want to display only the payload (which is text only in this case) then that’s not ideal. I guess I’m asking for a pure text display panel really. 🙂 happy to send a screen shot if you pm me. Thanks for your comment re the widget. Cheers dave

    1. Thanks Dave,
      I understand your point. I will add an option to hide the log panel topic in upcoming releases.
      Thanks for your feedback.

  24. Thanks Dave for your feedback,

    I have kept home widget in my to do list. I will work on this once other priority tasks are done.

    The text log panel intended for basic debugging purpose. Yes, it does not keep the payloads once you move from the device page. Ideally full log should be configured in broker level. I also think that full topic text is helpful for debugging purpose.

    I could not understand the bug you are referring. It will be very helpful if you can provide a complete example.

    Feel free to share more feedbacks.

  25. IoT mqtt panel, most excellent.
    A widget link to the home or selectable device would be great.
    How can I display a topics (text) payload, the text log is nearly there but I don’t want it to disappear. There is I think a bug there, it also displays the whole topic path as well as the payload. I’d like to display a topics textual payload ‘OK’, ‘green’, or ‘7 bananas’ whatever.
    Keep up the good work.
    Still learning mqtt so I may not know what I’m talking about.
    Thanks dave

    1. Hi Dave,
      I have implemented “shortcut” feature for devices. This will allow you to open any device directly without opening connection page.

  26. Hi Rahul,

    first of all, many compliments for your App.
    I kindly ask you if it’s possible to introduce into the SWITCH PANEL the possibility to visulize the “timestamp” on the last status change of the IOT device. This could be useful in order to be aware when a remote action has been taken by the remote IOT device.

    Many thanks for your kind support.

    1. Thanks Raffaele for your feedback. Lets analyze the various scenarios.

      You published one message from your mobile. You closed the app and reopened it. The mobile does not have any info when it published messages last time.

      Another scenerio, suppose you have two mobiles X and Y interacting with your IoT system Z.
      1. RETAIN FALSE: Mobile X publishes a message and Z responds accordingly. At this time if Y is offline and Y will never get updated state. Even Z publishes it’s current state after Y come online, it does not tell when X published the message.
      2. RETAIN TRUE: Y was offline when X sent the message last time. When Y comes online and subscribes same topic it immediately receives last message published by X. But still it does not tell when X published the message.

      These are very simple scenerios. In practical we deal with number of devices and it is very difficult to predict timestamp from client side.

      Another major challenge is placement of timestamp text. Lots of user have small mobile screen size. Adding too much information will brake the panel UI.

      I will keep looking for appropriate solution and address it in future releases.

  27. Hihi!!! This is really a good job! Are you very strong! App in my opinion, needs notification alarms, so it Will be completed! So thank you very much for your work!

    1. Hi Michele,

      Thanks for your comment. I admit that notification is one of the major feature this app does not offer till now. Unfortunately the library I am using for MQTT communication does not have notification functionality. I am working hard to make it work. Once I succeed I will update the app.

    2. Hi Michele,
      I have implemented notification feature and it is available in pro version. Please note this feature is in very early stage. Feel free to report any bug or suggestion.

  28. Hi,
    the app is very good but I’m not good enough to use it.
    I have a sonoff basic with tasmota firmware but is not working with this app, but work with mqtt dash.
    Very strange, can you help me with the configuration of payload function?
    My suggestion is to have the possibility to schedule the function, like turn on/off light at certain time and day.
    Anyway I want to try to make it work with my tasmota basic because I will like to automate all my house.
    keep going.

    1. Hi Luca,
      This application should work with all IoT devices based one MQTT protocol. Unfortunately I do not have a sonoff device for testing. From internet I came to know that tasmota firmware works with MQTT. So, I believe that this app will work with your sonoff. I will try to load tasmota firmware in my ESP8266 and share my findings.

      I will be very happy to help you to configure the app. You also can drop me a mail ( your requirements.

      This app is primarily a dashboard app and you can’t schedule a task inside it. The ideal place to schedule would be inside the device. This app will help you to visualize current status of any input or change any output manually.

    1. Thanks Rudi for your suggestion. The notification functionality is not currently available. I will explore about it and integrate in future.

    2. Hi Rudi,
      I have implemented notification feature and it is available in pro version. Please note this feature is in very early stage. Feel free to report any bug or suggestion.

  29. Hey, one more request.

    Is it possible to implement some sensor in order to detect an open door? I have a sensor in place, it answer 1 for open, 0 for closed. I can use a switch but the switch can be switched (off course) and I just wanted a graphic representation of opened and closed. Is this possible?

    1. Yes it is possible. I have created LED Panel to view generic digital state. This panel should fulfil your requirement. Very soon I will add an option to change LED icon too.

      1. The idea is exactly this, but, could it be like a ball or a square, color as you said and a message, like open and closed based on the payload and a label or something like that?

        1. Update the app from play store. You will be able to change LED icons with color. The door symbolic icon is also available. This will allow to visualize if the door is open or closed. Alternatively you can use lock icons too.

  30. Is it possible to implement a function to create a shortcut on home screen to a connection? So, I could click and open directly to my buttons.

    Thanks in advance!!

  31. Hi, really good job Guys 🙂

    I have a few comments/suggestions in case you plan to develop the app any further:
    1) support for diacritic characters in the panel names – I can use Polish diacritic characters in the labels, however trying to use them in the panel name causes “Only character, number, space and – are allowed” error.
    2) icons for faster panel recognition – to be honest, I am testing now few MQTT Android clients – your app looks the most promising, but what I like in the others (such like MQTT Dash) is possibility to add icon to particular panel/controller. At the beginning they could be static just to depict device controlled by particular panel, but in the future you could think of doing them “dynamic” – changing depending on the received content. You could design your own icons or try to adapt free icons available on the Internet (like FlatIcons, FontAwesome, etc.).
    3) resizeable panels – all panels are currently displayed on the whole screen width, which consumes a lot of screen space when there is just a single switch or button on the panel. It would be great to be able to place for example 2 panels side-by-side, etc.
    4) missing “unit” on the slider panel. I guess each panel could have possibility to define unit as there might be numerous usecases.
    5) dynamic colors of the bars on progress and meter panels – for example to define three ranges for temperature, such like: blue – below X (too cold), green – between X and Y (optimal) , red – above Y (too hot). It could be used as well for other metrics like humidity, battery level, light level, etc. Colors could be fully customizable (full RGB range) or selected from the limited set of predefined colors.
    6) home screen widgets of the panels for instant access without a need to open the app
    7) notifications when the values presented on the panels meet certain customizable conditions – for example when the temperature/battery level of connected IoT device drops below X, PIR sensor detects movement or doors are opened, etc.

    1. Thank you very much for your feedback. I will update the app according to your feedback as much as possible in upcoming releases.

      1. Thanks – that would be really great!

        I have another idea to be considered in the future – timer for each and every panel separately, indicating when the last pub/sub action for that panel was triggered (i.e. how many seconds/hours/days ago the panel was updated the last time).

    2. Updates
      1. Restriction for Connection, Device and Panel names are removed. Now you can provide any character.
      2. Panels are resizable now. You can configure them to 100%, 66%, 50% and 33% according to your need.
      3. Unit added for Slider panel
      4. Vertical meter can be configured to multicolor (For now it is not dynamic as you suggested).
      5. Icon change flexibility added to Button, Switch and LED panels
      Please update the app from Play Store to get these features.

      Feel free to share more feedback.

      1. I liked the updates. I’d like to suggest also;
        – create groups of different sensors. For example, I go to Home and create groups by rooms, like living room, bedroom, kitchen and then have the ability to have different kinds of sensors on each group (Kitchen – Lamps, Thermometer, Humidity Sensor, smoke detector, etc)….

        – Also, change background collors to better identify (For example, Living room = green, kitchen = red, etc…)

        1. Thanks Leo for your suggestion,
          – Grouping the sensors and controls is always a good idea. I introduced “Device” for exactly same reason. Group all panels(e.g. Lamps, Thermometer, Humidity Sensor, smoke detector, etc) under same device (name it as Kitchen). You can easily switch between the devices(or Groups) using the left menu in device page. For more info about the architecture please refer User Guide inside the app.
          – I will explore to make device background / theme customizable for quick identification. For now you can use Device name displaying at the top.

        2. Hi Leo,
          Now you can configure the background colors of titlebar for easy identification. Please update the app from playstore.
          I apologies for delay to implement this useful feature. I was too focused to implement other features, I could not get time.

          1. Hi Rahul,

            The update with customizable titlebar background color is great, but here are few suggestions from my side:

            1) colors are visible only once you open certain device – if you open the menu with the list of all available devices, they are still blue, so you still need to pay attention to the text and can not depend on color-coding only – it would be great if the background colors were also applied to the menu list items

            2) you have already added quite nice set of icons to the app – why not to allow the user to define separate icon for each device (along with the titlebar color)? It would increase readability and ease of use further more 🙂

          2. Thanks Pawel for nice ideas. This will help to improve user experience. Keep updating the app regularly. Feel free to share more feedback at any time.

      2. I didn’t expect such quick update – really great job!
        That is awesome – I can’t wait to more new features to come 🙂

    3. Hi Pawel,
      I have added the notification in pro version. The implementation is in very early stage. It can only show the last value received by any particular panel. Please feel free to raise any bug or suggestion.

    4. Hi Paweł,
      Finally I am able to implement “shortcut” for devices. This will allow you to open any device directly without opening connection page. I think this will help you access panels instantly.

    1. Hi Evangelos,
      This application should work with any MQTT device. Unfortunately I do not have tasomota sonoff device for testing right now.

  32. Nice work! How about having some widgets that display data coming from a device?
    So far all I see is the availability of control widgets. I’d like to display my room temperature.
    For that, quite often, we need to “parse” the payload value as a JSON object.
    It would be nice to also support JSON path to extract the value to be displayed.

    1. Thank you Greet for your suggestion. I will add panels for displaying value very soon. Also I will explore about JSON path and integrate with this application.

    2. Hi Greet,
      I have added 3 new panels Linear Progress, Circular Progress and Vertical Meter. These panels will be useful for displaying value. I will add jsonpath support very soon.

    3. The JSON support is available now. You can parse the subscribed data using JsonPath as well as you can wrap the input values into a JSON format.

  33. Very Nice, looks promosing.
    What i’m missing is the possibility to export/import the settings to for example an other phone.
    Wife and son have also phone and i don’t like to enter everything 3 Times.

    1. Thank you Evert for your suggestion.

      Actually I am building this feature and it will be available very soon. The application is completely build on user’s settings which resides only on device memory. The exported file will be a human readable json file. If user modify it with invalid settings / syntax it might cause crash of the application in his mobile. So currently I am implementing proper validation before the settings can be imported.

    2. Hi Evert,
      I have implemented the import/export configuration. You can get this option at settings page. Additionally I have introduced SSL, Dark theme and many more updates. Some new panels are also coming soon. Please update the app to get the latest features. Also feel free to share your feedback. This will help me to improve the application.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.