MQTT Overview

MQTT integration enables you to connect a vast array of MQTT-enabled devices monitoring for example, occupancy; air quality; electricity, water and gas consumption; temperature and more.

Due to its nature as a light-weight protocol suited to low powered, resource-constrained devices, MQTT is a popular choice for creating a robust IoT network in smart buildings, enabling devices to “talk” with one another.

MQTT is an open protocol, allowing multiple devices from different manufacturers to communicate, avoiding vendor lock-in. This is advantageous especially when attempting to bring together various datasets to get a holistic overview of your facilities’ energy and environmental performance.

MQTT: How does it work? And how can I connect my device to Wattics?

MQTT is an extremely lightweight messaging protocol conceived for the IoT world which comprises a variety of devices attending the needs of different industries. These devices can have different capabilities and more importantly limitations such as being battery powered, having limited processing power and/or requiring minimal network bandwidth.

Meters/Sensors (a.k.a. clients) in the field publish messages to a MQTT broker. Each message specifies a topic. The broker’s job is to deliver all the messages from a specific topic to all the device(s) which are subscribed to this particular topic.

For more information on the technical specifications of the MQTT protocol, visit:

The SmartAnalytics twist

The Wattics MQTT broker will receive messages (usually in JSON format) from your MQTT devices. It will decode them and extract the valuable bits. Then it will populate your data points on your Wattics energy management dashboard with these new readings. That’s it!

Connect MQTT to SmartAnalytics

MQTT is being used to serve many different purposes across many different industries. For this reason the protocol doesn’t define a specific message structure/format. This means that some device-specific code will need to be added to our broker to make it compatible with any new device. We just need to develop a translator (parser) to read your specific device message (subject to custom development fee).

Let’s cover some basic requirements that your device needs to meet (and some others which are nice-to-have):

  • Authentication in the form of a username and password (required)
  • Topic must indicate device type (required)
  • Unique device identifier which can be extracted from the Topic, from the Client ID included in the message or from the JSON (required)
  • Ideally a timestamp must be included in each message. Alternatively the time when the message reached our servers can be used.
  • Quality of Service (QoS) equal to 1 or 2. This will ensure that no messages are lost.

How do I make my MQTT device compatible with the Wattics MQTT broker?

If your device meets the hard requirements above (and hopefully a few more), then let’s talk! All we need is a sample message from your device. We’ll explain to you how to obtain this. Then we’ll do a quick assessment of the code that needs to be implemented and get back to you with the estimation when you can get your device online on your Wattics dashboard.