FAQs

The app won’t connect to my broker

First, try a public broker and see whether the app is able to connect to that (for example broker.emqx.io ). If that connection works, check whether the connection details you entered for your own broker are correct.

How do I configure Shortcuts?

You can create Shortcuts either directly from the app using the Add to Siri button, or what I would recommend using the Shortcuts app. Press the + button and search for EasyMQTT.

I can’t see any brokers when setting up a Shortcut/Widget

Make sure you add your broker in the app, either by checking Add to favorites on the connect screen (connect to the broker to save), or going to Settings - Brokers and add your broker there. Make sure to give it a name, save and then check the Shortcuts app or the widget again, the broker should show up there now.

What do the different types of Shortcuts do?

EasyMQTT includes two Shortcuts, Send Message and Fetch Message:

  • Send Message: Sends a message to a topic on a specific broker. You’ll be able to either manually enter all three of those or use the input of a previous shortcut action to automate things. Under Show more you’ll be able to find the option to send the message as retained

  • Fetch Message: Subscribes to a topic on a specific broker and fetches the first message it receives. Ideally this topic should have a retained message on it that the broker returns immediately. You can use this shortcut action to fetch data from your broker and use it in other actions.

What types of widgets are there?

Right now there are 2 widgets included, Fetch Widgets and Graph Widgets:

  • Fetch Widgets: This type of widget will directly display an MQTT message from a topic. Ideally that topic should contain a retained message since widgets are only able to refresh every 15 minutes or so.
    There are 3 sizes available, small, medium and large. The small and medium widgets will show the payload directly, the large widget will show the payload in highlighted JSON.
    You can use the property path setting to show specific properties of the message, more on that in the property path section of the FAQ.

message_widgets.png
  • Graph Widgets: Graph widgets will display a graph over time of some number coming from a retained topic. The widget will periodically fetch the latest number and store it. When setting up the widget you can define how many values you’d like to store and show (can be changed at any time).
    Another option is the update interval, this will control how often the widget fetches data. This allows you to for example create a graph of a sensor over 24 hours (Update interval to 1 hour, number of values to 24 hours).
    The last option is Ignore duplicate values. This will tell the widget to ignore duplicates and only update when the number on the topic changes.

graph_widgets.png

My Widgets aren’t updating?!

If the widgets don’t show any data at all, long press the widget - Edit widget and check that all your settings are correct. Also check the EasyMQTT app to see if you’re able to connect to that same broker and subscribe to the topic.
Widgets refresh periodically with iOS automatically managing the background updates to optimise them for the best battery life. From my experience, widgets refresh around every 15 minutes when your phone is unlocked. It’s also possible to manually force a refresh but editing a widget, changing a value or setting. That should trigger a refresh.
All widgets are also refreshed whenever you open the app. Note that if you have an update interval set, the widget will only update every x-hours.

Property paths

Fetch shortcuts, fetch widgets and graph widgets have a property path setting that allows you to access the data you need in a message. For example, a temperature sensor from zigbee2mqtt might look like this:

Temperature sensor

Temperature sensor

To only get the temperature when using it in a shortcut or widget, you’d have to set the property path to payload.temperature. To get the humidity it would be payload.humidity. To get the whole object, it would just be payload.