What is the mechanism for communication between ESPhome and Devices/nodes?

Guys, I have just segmented my network into a number of VLANs and have isolated all of my IOT devices on a VLAN and seperate Wireless SSID.

I have communication across the VLANs (not filtering yet) - i have left my ESPhome/HA Virtual machine at the same address as it was previously

I can ping from devices on the IOT VLAN to the HA VM and Vice Versa - but all of the devices have come up as unavailable. How do i go about troubleshooting this ?

Craig

See the note at the very bottom of the FAQ page: Frequently Asked Questions — ESPHome

Note

ESPHome uses mDNS to show online/offline state in the dashboard view. So for that feature to work you need to enable host networking mode

mDNS might not work if your Home Assistant server and your ESPHome nodes are on different subnets. If your router supports Avahi, you are able to get mDNS working over different subnets.

Just follow the next steps:

  1. Enable Avahi on both subnets.
  2. Enable UDP traffic from ESPHome node’s subnet to 224.0.0.251/32 on port 5353.

Alternatively, you can make esphome use ICMP pings to check the status of the device with the Hass.io Addon "status_use_ping": true, option or with docker -e ESPHOME_DASHBOARD_USE_PING=true See also Dashboard status light not working across subnets/zones · Issue #641 · esphome/issues · GitHub.

Thanks very much Tom - i had a niggling suspicion it would be mDNS of some description ! My Cisco IOS build does not support reflecting mDNS - so i will either deploy a small Linux reflector for each VLAN - as i am sure to hear from the rest of the family shortly about loss of Chromecasting etc etc. !!

I may try the ICMP config in the short term - do you happen to know if i moved to/back to MQTT for ESPhome instead of the native API would this get around this ?

Craig

I don’t know a great deal about the mqtt transport layer. Pretty sure it’s TCP/IP which should be able to traverse subnets.

Once again - thanks for the quick response - yep MQTT is all TCPIP based and directed packets to configured brokers etc.

I will test this out shortly and advise back

Craig