Camilo Duque 7df23d4e3e [FIX] ESP32 Ethernet: make NetworkAdvancedSetup work, and skip WiFiManager when Ethernet is up (#2351)
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.
2026-08-15 14:26:44 -05:00
2020-06-09 16:09:23 -05:00
2020-06-09 16:09:23 -05:00
2018-04-29 21:41:37 +02:00
2017-07-01 22:17:29 +02:00
2020-04-28 14:12:07 -05:00
2017-06-02 22:11:14 +02:00

Community forum

OpenMQTTGateway capabilities

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 bridge view

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.

Theengs plug view

Support the project by purchasing the Theengs bridge or the Theengs plug

Compatible items

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.

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:

Media

Theengs Plug

Theengs Plug video ElektroMaker

433Mhz and BLE

433Mhz and BLE gateway video by Andreas Spiess

BLE

BLE gateway video by Andreas Spiess

433Mhz

RTL_433 video by TECH MIND

LORA

LORA video by Priceless Toolkit

S
Description
No description provided
Readme GPL-3.0
72 MiB
0 Stars 1 Watchers 0 Forks
2026-10-29 20:50:05 +00:00
Languages
C++ 76.1%
C 13.6%
Shell 7.2%
JavaScript 2.3%
Python 0.8%