ESP Home Devices Not Showing Up in ESP Home - Possible mDNS Issue

Hi everyone,

I’m running into an issue where after flashing ESP Home firmware onto my devices via ESP Home Web, I can connect the devices to my Wi-Fi, and access their web page directly, but they don’t show up in ESP Home. I suspect this might be related to mDNS, but I’m unsure how to diagnose or fix it.

Background

Network Setup: I’m using a Firewalla Gold router, and while I don’t use VLANs, the mDNS relay is turned on for my network.

Environment: ESP Home and Home Assistant are running on Docker on Ubuntu Linux, alongside other Homelab containers. I am running the latest versions. I’ve never gotten this to work in the last 12+ months.

Observations:

• HomeKit works fine on this network, which suggests mDNS is working somewhat.

• However, pinging .local addresses (e.g., http://esphome-web.local) fails due to IP resolution issues.

• Direct access to the device’s IP address (e.g., http://192.168.7.125) works fine.

  • I have the issues in two different locations that have very similar network & container configurations

Devices Tested: I’ve tried an Espressif ESP32-S3-BOX-3, an ESP32-powered TTGO LCD device and miscellaneous minimal ESP32 devices, the issue exists on all

Goals

Be able to configure various ESP Home devices in ESPHome so as to get them working with Home Assistant for Bluetooth relay, display, and voice assistant.

What I’ve Tried So Far

  1. Verified that the Firewalla mDNS relay is enabled.
  2. Tested pinging .local addresses, which fail.
  3. Confirm that the devices are reachable by IP address.

What I Need Help With

• Diagnosing if this is an mDNS issue or something else including suggestions for tools or steps to test mDNS further.

• Ideas on other reasons why ESP Home cannot see the devices.

I’d appreciate any advice or troubleshooting tips!

Thanks in advance for your help. :blush:

By using f.e. Windows PC + Bonjour Broswer - connect to all network segments of network and see what mDNS information You see.

I’ll try that, thank you.

I did move the network “Search Domain” in firewalla from .lan to .local and I can now access the devices in a browser via .local but it didn’t change anything for ESP Home it seems.

Have you added then to home assistant via the settings/devices and services page?

This is what I see for local that seems to be related:

Just to make sure I understand your question, you’re asking me to do something in HA itself?

I don’t see the devices in ESPHome even though they’re up and showing up in mDNS browsers:

I have switched over all my ESPHome devices to configurations where the device is looked up using the full domain for my network instead of .local by adding this to all my configs:

wifi:
  domain: .mydomain.com

The domain I use is the search domain in Firewalla.

Note that changing your Firewalla search domain to “.local” is likely to cause other problems and is not recommended by Firewalla.

I’m confused about why you’re using an mDNS relay when you aren’t using VLANs? mDNS is a broadcast protocol, so if everything is in the same VLAN there shouldn’t be any need for a relay (and that’s why a relay is needed between VLANs, which don’t share broadcasts).

I’ve always had issues with ESP32 devices specifically and mDNS across VLANs with an mDNS relay. ESP8266 devices work fine with that setup. I’ve tried digging into it multiple times and never found a root cause, other than the 32 vs 8266 use different mDNS implementations. Within a VLAN though, I’ve never had any mDNS issues for either ESP32 or ESP8266 devices.

So you change that domain for every individual device, right? There is no ESP Home wide setting?

Note that oddly, while ESPHome doesn’t see my device, HA does!

So you change that domain for every individual device, right? There is no ESP Home wide setting?

That’s correct. I put this in a common file that I include into every device’s configuration using the package !import mechanism:

packages:
  base: !include common/base.yaml