For the complete documentation index, see llms.txt. This page is also available as Markdown.

General MQTT structure

MQTT runs on top of TCP/IP using a PUSH/SUBSCRIBE topology. In MQTT architecture, there are two types of systems: clients and brokers. A broker is the server that the clients communicate with. The broker receives communications from publishers and sends those communications on to other clients.

Aranet PRO MQTT publisher topic structure

Here are some differences in the topic structures in the MQTT publisher topic structure depending on the data format.

Figure 1: General MQTT network structure

Figure 2: RAW format.

Figure 3: JSON format.

Sensor measurement data messages from the PRO base can be published on the MQTT broker in 3 following formats (hierarchy):

  • Raw

  • JSON

  • Azure

Raw measurement types

In topic structure <root topic name>/<PRO base serial number>/sensors/<sensorID>/measurements/<measurementtype>where:

  • <root topic name> - Aranet PRO base station MQTT message identification name which should be configured on the base MQTT page Root topic field. For more details see below Aranet PRO base station configuration interface.

  • <PRO base serial number> - serial number of PRO base stations

  • <sensor ID> - 6 HEX digit sensor ID where the first digit is the sensor segment (for details see Segments for sensors document) and remaining 5 digits are from sensor marking from the physical label on the sensor body which can be seen also in PRO base station graphical user interface;

  • <measurement type>, can be one of the following

    • temperature: data is given in [C] (degrees Celsius);

    • humidity: relative humidity data is given in [%] (percentage);

    • co2: carbon dioxide concentration level data given in [ppm] (parts per million);

    • co2Abc: shows whether CO2 manual (0.000000) or automatic (1.000000) calibration mode is enabled for the sensor;

    • atmosphericpressure: atmospheric pressure data are given in [Pa] (Pascal);

    • voltage: data are given in [V] (Volts);

    • current: electric current data are given in [A] (Ampere);

    • weight: tarred weight in [kg] (kilogram);

    • weightraw: untarred weight in [kg] (kilogram);

    • illuminance: data from LUX sensor given in [lx] (lux);

    • distance: data are given in [m] (meters);

    • vwc: volumetric water content data of soil/substrate given as [/] (the fraction of one whole);

    • bec: bulk electric conductivity data are given in [S/m] (Siemens per meter);

    • pec: pore water electrical conductivity data are given in [S/m] (Siemens per meter);

    • dp: dielectric permittivity data of soil or substrate given in absolute numbers;

    • ppfd: photosynthetic photon flux density data are given in [ umol m2 s] (micromol per square meters multiplied by seconds);

    • pulses: pulses in each sensor measurement interval in absolute numbers [pulses];

    • derivedp: pulses measurement in each sensor measurement interval once the sensor conversion rule is applied in user-defined units;

    • pulsescumulative: cumulative pulses in absolute numbers [pulses];

    • derivedpc: cumulative pulses measurement once the sensor conversion rule is applied in user-defined units;

    • co: carbon monoxide concentration level data are given in [ppm] (parts per million);

    • differentialpressure: data are given in [Pa] (Pascal);

    • motorseconds: operational/switched-on (AC connection or contact closed) time of the connected device to the sensor in each sensor measurement interval in [s] (seconds);

    • motorsecondscumulative: cumulative or total operational/switched-on (AC connection or contact closed) time of the connected device to the Aranet hour meter sensors in [s] (seconds);

    • derived: derived measurements in user-defined units;

    • rssi: received signal strength data given in [dBm];

    • battery: battery charge level which is given as [/] (the fraction of one whole);

    • time: measurement time in Unix epoch format

Additionally measurement units for the sensor data according to measurement type is published in topics: <root topic name>/<PRO base serial number>/sensors/<sensor ID>/measurements/<measurement type>/units

Examples

JSON measurements

Only measurement values are sent, but no sensor measurement units and alarm messages in the topic structure <root topic name>/<PRO base serial number>/sensors/<sensor ID>/json/measurements

Example payload:

JSON alarms

Sensor alarm messages from PRO base is published on the MQTT broker in following hierarchy (format): <root topic name>/<PRO base serial number>/sensors/<sensor ID>/alarms/+

Azure format for sensor data publishing to Azure IoT Hub platform

Last updated