Is there a requirement for Home Assistant to be on the same IP subnet as the sensors?

I am trying to segregate all my IOT devices to a separate virtual lan. Home Assistant, running on a pi4, is at 192.168.1.100. I have about 20 ESPHome devices and these are all on static IP’s on the 192.168.1.xxx subnet. This is working fine.
I have established a vlan at 192.168.50.xxx. When I transition a ESPHome device to the 192.168.50.xxx subnet, Home Assistant no longer recognizes the device at the new IP address but I can ping the new IP number.
There are no firewalls between the subnets. IE I can ping Home Assistant (at 192.168.1.100) from a device on 192.168.50.xxx and I can ping a 192.168.50.xxx address from a 192.168.1.xxx address.

So, is there something special that I need to set up so that devices in one subnet can talk to Home Assistant central on another subnet?

No

Only HA must be able to communicate with sensors’ network

Thanks for your reply,

HA is what I call ‘Home Assistant central’ and for some reason or another (which I am trying to figure out), it seems that HA can’t seem to talk to the sensors.
Is there maybe some sort of parameter that must be set for HA to bother looking for sensors on a different subnet than it itself is on ?
I just can’t figure out why else a sensor on a different subnet would not be seen by HA.

Could it be that the issue is not with HA but with ESPHome?
I only have ESPHome devices on the network so I can’t test if this is the problem.

Maybe esp device need use_address

https://community.home-assistant.io/t/newbie-esphome-setup-help

I found this tidbit:

carlosmgr commented on Sep 23, 2019

I see this question here from time to time, so lets help someone.

ESPhome uses mDNS witch is a multicast protocol, multicast does not cross vlans.

You have 4 options:

  • Use a Firewall/Router that permits mDNS to cross vlans
  • Use Avahi reflector on a RPI connected to all vlans
  • On hass.io add the “status_use_ping=true”
  • On esphome docker dashboard use the env “ESPHOME_DASHBOARD_USE_PING=true”

This seems to make sense and fits what I am seeing. The nodes can talk to each other just fine yet things don’t work … presumably because mDNS can’t traverse vlan’s.
I will see if I can figure things out from that angle. At minimum, it gives me a new lead to tackle this problem.

Make sure you have your VLAN’s correctly setup. Maybe this will help you:

2 Likes

That was a great link! I have now set up the ESPhome test device to use the IOT subnet and it shows as green (recognized) in the ESPHome dashboard. In other words it is recognized by HA.
There is one additional problem … although the device is now recognized, it shows as unavailable on the ‘overview’ screen. The device is still grayed out.
In any case, there is progress !!! WoooHooo :slight_smile:

Great news … a reboot of the HA server fixed the last issue !!!

Thanks for all the help !!

I have changed a number of things in my setup and have run into one other annoying issue.
My main network is on 192.168.1.0/24, All my Home Assistant nodes as well as the server are on 192.168.50.0/24. All nodes work but for some unknown reason, the dashboard on ESPHome does not show the status of nodes as green even though the are on line and working fine. They all show up as red which I believe indicates off line.
If I restart the HA server, all nodes report green and then, within about 30 seconds, change to orange and then red. Again, all nodes seem to operate just fine.
I still have things set up to pass mDNS packets across subnets even though all of the Home Assistant devices (nodes and server) are all on the same subnet.
It seems that there is still something besides mDNS that somehow is blocked even when the HA devices do not have to talk across subnets.

Scroll down here to the highlighted bit:

Are you referring to the “status_use_ping” switch? If so, I don’t know where to set that flag.

In the add-on settings / config

Thanks, I now found where it should go.
Of course right about here the status lights magically started operating. This is before I inserted that string into the configuration.
I was working with firewalls when things started to work, I tried reverting all the rules I had tried but the damn thing is still working - LOL- I have no idea what is going on but it’s working. I will see how long that keeps going and just threaten the computer with that configuration phrase. Maybe it will behave …
Thanks for helping me find where to put the configuration string !

No worries