Set Up CumulusMX Live Sync
Configure CumulusMX to send live weather observations to Meteobreeze.
Set Up CumulusMX Live Sync
Use this guide if you want CumulusMX to send live observations into Meteobreeze using a custom HTTP endpoint.
Meteobreeze needs to know the output units you use in CumulusMX so it can convert incoming values into canonical storage units.
When to use it
- You use CumulusMX as your station software
- You want live data sent over HTTP
- You want Meteobreeze to handle unit conversion for you
Before you start
- Open the MX Administrative Interface on the device running CumulusMX or from another device on the same network
- In
Settings>Station settings>Units, note the current temperature, wind, pressure, and rain units - Create a live source in Meteobreeze
- Decide whether CumulusMX should send on a seconds or minutes interval
Tag mapping
Meteobreeze uses CumulusMX webtags and unit-specific query parameter names so it can convert values correctly. Numeric webtags include rc=y, which tells CumulusMX to send a decimal point even when its host locale normally uses a decimal comma.
Official CumulusMX references: Full list of Webtags, Webtag parameters, and MX Administrative Interface.
The Cumulus wiki webtag list lags recent CumulusMX builds. For an up-to-date list, use the community-maintained cumuluswebtags.php that forum user water01 (David) refreshes after each CumulusMX release, much appreciated work: support forum post.
| Measurement | CumulusMX webtag | Supported Meteobreeze query params |
|---|---|---|
| Timestamp | <#timeJavaScript> | observedAt |
| Temperature | <#temp rc=y> | temperatureAvgC, temperatureAvgF |
| Dew point | <#dew rc=y> | dewPointAvgC, dewPointAvgF |
| Humidity | <#hum> | humidityAvgPct |
| Wind direction | <#avgbearing> | windDirectionAvgDeg |
| Wind speed | <#wspeed rc=y> | windSpeedAvg, windSpeedAvgMph, windSpeedAvgKph, windSpeedAvgKn |
| Wind gust | <#wgust rc=y> | windGustMax, windGustMaxMph, windGustMaxKph, windGustMaxKn |
| Pressure | <#press rc=y> | pressureAvg, pressureAvgMb, pressureAvgInHg |
| Rain rate | <#rrate rc=y> | rainRateAvg, rainRateAvgIn |
| Rain total | <#rfall rc=y> | rainTotalMm, rainTotalIn |
| Solar radiation | <#SolarRad> | solarRadiationAvg |
| UV index | <#UV rc=y> | uvIndexAvg |
Only one unit variant should be sent for each metric in a packet.
Step-by-step
- In the MX Administrative Interface, open
Settings>Station settings>Unitsand note all four output units. - In Meteobreeze, open
Settings>Data sources, chooseAdd live source, selectCumulusMX, and create the source. - Select exactly the same temperature, wind, pressure, and rain units, then
choose
Save units. - Copy the complete generated URL. Do not open it in a browser: the URL still contains webtags that only CumulusMX should expand.
- In CumulusMX, open
Settings>Internet settings>Custom HTTP. - Paste the URL into a seconds-interval or minutes-interval Custom HTTP slot and choose a non-zero interval.
- Save the Internet settings. No Custom HTTP setting takes effect until it is saved.
- Wait for the next run. If enhanced debug logging is enabled, CumulusMX should
record the Custom HTTP response; a valid Meteobreeze packet returns
ok. - Back in
Settings>Data sources, confirm thatLast packetadvances and that the recent observation values match CumulusMX. - Open the public station page and check its live state, timestamp, displayed units, and current values.
Common issues
- No packet arrives: confirm a non-zero Custom HTTP interval is configured, the Internet settings were saved, the Meteobreeze source is active, and the complete URL was pasted without wrapping or edits.
Invalid observedAt value: CumulusMX did not expand<#timeJavaScript>. Make sure the URL is configured in Custom HTTP rather than opened directly or sent by another HTTP client.- A field “uses a decimal comma”: replace an older saved URL with the
current generated URL. Its numeric tags use
rc=yto force decimal points. - Values are plausible but wrong: compare all four selected units with
Station settings>Units. After editing units in Meteobreeze, save and copy the newly generated URL back into CumulusMX. - Solar or UV is missing: these values require compatible sensors. A dash from CumulusMX is ignored when other valid metrics are present.
- Packets arrive but charts lag: live values update immediately, while historical data is grouped into closed five-minute windows.
Known limitations
- Unit changes apply only to future packets; they do not rewrite data already received.
- The locale-safe
rc=ymodifier requires CumulusMX 3.5.4 or later. Upgrade an older installation before using the generated URL. <#wspeed>and<#wgust>use the averaging and gust periods configured in CumulusMX; Meteobreeze does not change those periods.<#rfall>is the total for the CumulusMX meteorological day. Its reset follows the configured rollover and may not be midnight.- Custom HTTP sends current observations only. Use a separate historical import if you need older CumulusMX records.
- The CumulusMX host needs outbound HTTPS access to the Meteobreeze ingest host.
FAQ
- Why do I choose units in Meteobreeze? So it can convert the incoming values correctly.
- Do unit changes rewrite old data? No. They affect future packets only.
- Why does the generated URL contain
rc=y? It makes decimal values independent of the CumulusMX host locale.
Related pages
Image needed: a screenshot of the CumulusMX unit settings and the custom HTTP configuration screen with the Meteobreeze URL pasted in.