Static IP over Ethernet on ESP32 was unusable, and a fresh board with a working Ethernet link still brought up the WiFi radio. setup_ethernet_esp32() did not compile with NetworkAdvancedSetup defined: it declared ip_adress/gateway_adress/subnet_adress/dns_adress but then called fromString() on ip/gateway/subnet/Dns, which are declared nowhere. The WiFi path a few hundred lines above does the same thing correctly, so this looks like an incomplete copy of it. Once that compiles, the static IP was still ignored. ETH.config() was called before ETH.begin(), but NetworkInterface::config() returns false immediately while _esp_netif is NULL, and the netif is only created inside begin(). The call was a silent no-op and the board kept asking for DHCP. Swapping the order is safe: the client branch of config() stops the running DHCP client itself and sets the static-IP status bit. The return value is now checked and logged instead of being discarded. Separately, the "no config in flash" branch of setup() called setupWiFiManager() guarded only by !failSafeMode, while the "config loaded" branch a few lines above correctly also checks !ethConnected. So a factory-fresh board with Ethernet already up would still start the WiFi manager. Beyond being unnecessary, it powers up the 2.4GHz radio and competes with BLE on gateways that run both. Verified on an Olimex ESP32-POE-ISO: the board now takes its static address immediately with no DHCP wait, does not fall back to the WiFi manager, and reaches the broker. Formatting checked with clang-format against .clang-format.
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.
Theengs Plug, Bluetooth gateway (BLE) gateway and Smart Plug
Theengs plug brings the following features:
- BLE to MQTT gateway, tens of Bluetooth devices supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors,
- Smart plug that can be controlled remotely,
- Energy consumption monitoring,
- Device tracker,
- Presence detection (beta),
- Local connectivity first.
Support the project by purchasing the Theengs bridge or the Theengs plug
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








