On HTTP_UPDATE_OK the pre-reboot RLStoMQTT reported
`installed_version = latestVersion` unconditionally. That is only correct for
a "latest" request: "dev" installs from RELEASE_LINK_DEV, "vX.Y.Z" installs
that tag, and a caller-supplied URL installs an arbitrary image whose
`version` field is just a label (the WebUI sends "test"). On ESP8266
latestVersion is never populated, so every successful OTA there published an
empty installed_version.
Report the version that was actually requested when the URL was derived from
it, and omit the field for a caller-supplied URL rather than publish a label
as a version. The decision is keyed on systemUrl (non-empty only on the
derived branches) rather than on `version`, because `{"url": ...,
"version": "latest"}` takes the url branch and must not be reported as the
latest release. The value is stored as a String so ArduinoJson 6.18.5 copies
it into the document instead of referencing the caller's buffer.
Scope and evidence, stated plainly: this corrects the message when it lands,
and on current development it usually does not. ESPRestart(6) clears
jsonQueue before the drain task publishes, so the pre-reboot "Update success
!" message was dropped on 3 of 3 successful OTAs on a Theengs Bridge,
including one where this code was certified to be the firmware performing the
update. The change is therefore verified by inspection and by clean builds
(theengs-bridge-v11 on ESP32, nodemcuv2-rf on ESP8266, no new warnings), not
by observing the corrected field on hardware. The authoritative
installed_version is republished from OMG_VERSION after the reboot, which was
correct in every run. Making the pre-reboot message survive the restart, or
dropping it in favour of that republish, is a separate change.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
OpenMQTTGateway aims to unify various technologies and protocols into a single firmware. This reduces the need for multiple physical bridges and streamlines diverse technologies under the widely-used MQTT protocol.
Sponsors
Documentation
The documentation is here
New to OpenMQTTGateway? Follow the Getting Started guide to flash a board from your browser and see your first sensor data in about 15 minutes.
The reference sheet, with the list of all functions, pinouts is here
Upload
Upload OpenMQTTGateway directly from the upload page (no additional software required) or build your own configuration with PlatformIO.
Using OpenMQTTGateway ?
Support open-source development through sponsorship, it helps keep the project healthy and evolving.
Products powered by OpenMQTTGateway
Theengs Bridge, Bluetooth gateway (BLE) with external antenna
Theengs bridge is a powerfull BLE to MQTT gateway for over 100 sensors. Equipped with an Ethernet port, and external antenna, ensuring an enhanced range for your BLE sensors. It supports also WiFi connectivity.
Support the project by purchasing the Theengs bridge
Compatible items
-
List of supported BLE devices, thermometers, scales, plant sensors, beacons...
-
Boards guide, RF Bridge, IR, BLE gateways...
Running on a computer If you want to use the BLE decoding capabilities of OpenMQTTGateway with a Raspberry Pi, Windows or Unix PC you can now leverage Theengs Gateway.
- Parts to build your gateway, DHT, RF, IR emitters and receivers...
Compatible controllers, saas or software
Contributors ✨
Thanks goes to these wonderful people who helped OpenMQTTGateway on Github and to the users contributions into the community.
Support
For Questions or Support please don't open an issue, first go to the docs and if you don't find your answer there, you can post your question in the community forum
Help
If you like the project and/or used it please consider supporting it! It can be done in different ways:
- Helping other users in the community
- Contribute to the code or the documentation
- Donate or sponsor the project developers
- Make a video or a blog article about what you have done with OpenMQTTGateway and share it to the community
Media
- Hackaday - ARDUINO LIBRARY BRINGS RTL_433 TO THE ESP32
- CNX Software - 433 MHz is not dead! Using an ESP32 board with LoRa module to talk to 433 MHz sensors
- RTL_433 PORTED TO ESP32 MICROCONTROLLERS WITH CC1101 OR SX127X TRANSCEIVER CHIPS
- Using low-cost wireless sensors in the unlicensed bands
- SMART PLUG ESP32 OPENMQTTGATEWAY SERVING AS AN BLE MQTT GATEWAY AND A POWER METER







