Skip to content

Proposal: Add mDNS Support and Web Configuration Pages for MQTT/mDNS #224

@stephen94125

Description

@stephen94125

Hi

First of all, thank you for this fantastic project! I've been using your ESP32 NAT Router as the core network hub for my camper van setup, and its stability has been incredibly impressive.

While using it in an IoT/smart home environment, I noticed that the repository currently lacks mDNS support (for .local access), and the excellent built-in MQTT Home Assistant integration can only be configured via CLI. Managing these settings via the command line can sometimes be a bit inconvenient when deploying or moving the setup.

To make the router even more user-friendly, I've made the following additions in my local branch:

mDNS Broadcasting & Web UI: * Added native mDNS support so the router can be easily reached via router.local.

Added a dedicated Web UI page to configure the hostname, instance name, and AP/STA interface bindings.

MQTT Web Configuration: * Created a Web UI page to fully manage your existing mqtt_ha.c module.

Users can now easily set the Broker URI, username/password, publish interval, and toggle the HA Auto-Discovery directly from the browser.

I made sure to strictly follow your existing design patterns—using C Macros and snprintf without relying on dynamic memory allocation (malloc). This ensures that the dynamic heap overhead remains minimal and does not affect the core NAT routing stability.

Would you be interested in having these features upstream? If you think this would be a useful addition to the project, I would be more than happy to clean up the code and submit a Pull Request.

I've attached a few screenshots of the new Web UI pages below for your reference.

Thanks again for your hard work and this amazing repository!

esp32_nat_router_for_van

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions