Skip to main content

MQTT Integration

Settings available on the local dashboard

MQTT broker settings

MQTT Broker settings​

MQTT allows the anemometer to publish wind data to a broker under a specific topic.
The broker then relays the messages to all clients subscribed to that topic.
This protocol is commonly used in IoT systems.

Field NameTypeDescription
Select a ServiceSelectChoose between a custom MQTT configuration or a preset for Home Assistant.
Broker URLInputURL of the MQTT broker. Must start with mqtt:// or mqtts://.
TopicInputMQTT topic to which wind data is published. Clients must subscribe to this topic to receive updates.
Username (optional)InputUsername required by the broker, if authentication is enabled.
Password (optional)InputPassword associated with the provided username, if required by the broker.
UnitSelectUnit format used in MQTT messages.
Append message type to topicCheckboxPublish each message type on its own sub-topic: <topic>/instant_wind, <topic>/moving_10mn and <topic>/device_health.
Last StatusInfoResult of the most recent publish attempt (success or error message).
SaveButtonApply and store the current MQTT configuration.

Messages​

Messages are published periodically in JSON format. Speeds are rounded to 2 decimals. When a value is unavailable or cannot be computed, the corresponding field is set to null.

  • Instantaneous wind is sent every 3 seconds when the device is not in Eco mode.
{
"type": "INSTANT_WIND",
"wind_instant_speed": 4.3,
"wind_instant_dir": 237, // in degrees, ranging from 0 to 359
"wind_instant_dir_cardinal": "WSW",
"unit": "m/s"
}
  • 10-minute wind: minimum, maximum, and average wind values over the past 10 minutes, sent every minute (every 1, 2 or 5 minutes in Eco mode).
{
"type": "MOVING_10MN",
"device_id": 1234,
"time": 1757750520, // unix time in seconds, omitted until the device knows the time
"wind_avg": 4.12, // same as wind_avg_1D, kept for compatibility
"wind_avg_1D": 4.12, // scalar average
"wind_avg_2D": 3.98, // vector average
"wind_max": 6.4,
"wind_min": 2.1,
"wind_dir": 237, // in degrees, ranging from 0 to 359
"wind_dir_cardinal": "WSW",
"reports": [ // custom broker only, newest first
{ "time": 1757750520, "wind_avg_1D": 4.3, "wind_avg_2D": 4.21, "wind_max": 6.4, "wind_min": 2.9, "wind_dir": 240, "wind_dir_cardinal": "WSW" },
...
],
"sample_interval": 3, // custom broker in Eco mode only
"samples": { "speed": [4.5, 4.1, ...], "dir": [241, 238, ...] }, // newest first
"unit": "m/s"
}
FieldDescription
wind_avg_1DScalar average: the mean of speeds, regardless of direction.
wind_avg_2DVector average: speeds averaged along their direction, lower when the direction varies.
wind_avgSame value as wind_avg_1D, kept so existing integrations keep working.
reportsCustom broker only. The 1-minute reports behind the window, up to 10, newest first. Each one has a time when the device knows the time.
sample_interval, samplesCustom broker, Eco mode only. Since instant wind is not streamed in Eco mode, the raw 3-second samples recorded since the last successful publish (up to 5 minutes) are attached instead, newest first.
  • Device health information is sent with each 10-minute wind message.
{
"type": "DEVICE_HEALTH",
"time": 1757750520, // unix time in seconds, omitted until the device knows the time
"voltage": 13374, // in mV
"firmware_version": "0.6.0",
"ssid": "OUR_HOME_2.4G",
"rssi": -68, // in dBm
"local_ip": "192.168.1.22",
"uptime": 696998, // in seconds
"free_heap": 95340, // in bytes
"temp_in": 24.5, // internal temperature in °C
"eco_interval": 0 // minutes between Eco cycles, 0 when not in Eco mode
}