Charts - kamilfb/mqtt-spy GitHub Wiki
- Auto-refresh for live data
- Historical values
- One or more topics (select which from the summary table or define new series)
- Plotted value can be:
- Message payload (could be formatted)
- Result of a JSONPath expression (for JSON messages)
- Result of an XPath expression (for XML messages)
- Message payload size
- Message load charts (i.e. how many messages are being received)
- Pan and zoom
- Value tooltips
- Manual and automatic export of the chart image to a PNG file




To plot a result of a JSONPath expression do the following:
- Add a new series (click the Add button) or edit an existing one (select Edit in the context menu of the existing series)
- Change the type of the series to JSONPath
- Type in your JSONPath expression into the 'Value expression' field
For the following JSON document:
{
"humidity": 59.6,
"temp": 19.7
}
the following expression will extract the humidity value:
$.humidity
To plot a result of a XPath expression do the following:
- Add a new series (click the Add button) or edit an existing one (select Edit in the context menu of the existing series)
- Change the type of the series to XPath
- Type in your XPath expression into the 'Value expression' field
For the following XML document:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<msg>
<temp>20.9</temp>
<energy>108</energy>
</msg>
the following expression will extract the energy value:
/msg/energy
To pan around the chart, use right click drag or CTRL/CMD + left click.
For zooming, use the following:
- Drag mouse (with left click) in plot area to zoom in both axes
- Drag mouse (with left click) on X axis to zoom in that axis only
- Drag mouse (with left click) on Y axis to zoom in that axis only
- Mouse wheel to zoom in/out plot area (X axis and Y axis)
- Mouse wheel on X axis to zoom in/out that axis only
- Mouse wheel on Y axis to zoom in/out that axis only
To reset, double click on the chart or use the context menu in Options.
