Homeassistant.local not found

Hi,
I have HA installed in a VM on my Proxmox host. It has two NICs, one in the iot vlan, one in the main vlan. Unfortunately, I cannot reach homeassistant.local from either of the two vlans. I set up avahi daemon with reflector enabled. From my laptop I can reach devices in both networks using their *.local address. E.g. ESPHome devices in the iot vlan and other VMs in the main vlan. So, mdns and reflection seem to be working. Only homeassistant.local cannot be reached. What could be the issue here?

You have networking configuration issues. How do the data packets transverse the sub-LAN barriers you intentionally set up?

well, since ha is in both vlans, no barriers need to be crossed. I tried with my laptop in both vlans, but mdns does not work for ha. note, it works for all other devices.

It likely doesn’t work that way. HA is going to pick one or the other, and you won’t know when it picks either one.
I am assuming HAOS, I don’t think you actually said, but HAOS is designed to run on a flat network and one network. It’s not a router.

Still points to a networking issue, especially with mDNS with regards to HA. So need more background on your HA instance/host and your network

Your HA have two NICs connected to different VLANs, which means you probably have a homeassistant.local on each VLAN.
Then you have also set up Avahi-daemon.
Is it set up to proxy mDNS between the two VLANs?

@Sir_Goodenough yes, I’m running HAOS.

Okay, to narrow this issue down a bit I diabled the second NIC, rebooted router and HA. Laptop and HA are in the same vlan. Still, I cannot find homeassistant.local. Chrome says DNS_PROBE_FINISHED_NXDOMAIN. ping homeassistant.local says it could not find the host.

Then start breaking it down. verify mdns is enabled where you need it. make sure zero-conf is turned on in HA. Whatever else is needed.
Personally I just use the IP address or the Nabu-casa address, so maybe a better network nerd than me can help more than me after that.

Does this help?

# ha net info
docker:
  address: 172.30.32.0/23
  dns: 172.30.32.3
  gateway: 172.30.32.1
  interface: hassio
host_internet: true
interfaces:
- connected: true
  enabled: true
  interface: enp0s18
  ipv4:
    address: []
    gateway: null
    method: disabled
    nameservers: []
    ready: true
    route_metric: null
  ipv6:
    addr_gen_mode: default
    address: []
    gateway: null
    ip6_privacy: default
    method: auto
    nameservers: []
    ready: false
    route_metric: null
  llmnr: announce
  mac: 02:81:62:AE:CB:C9
  mdns: announce
  primary: false
  type: ethernet
  vlan: null
  wifi: null
- connected: true
  enabled: true
  interface: enp0s19
  ipv4:
    address:
    - 192.168.30.10/24
    gateway: 192.168.30.1
    method: static
    nameservers:
    - 192.168.0.53
    ready: true
    route_metric: null
  ipv6:
    addr_gen_mode: default
    address:
    - fdbd:7078:a93d:f3c:d2dc:17eb:9c7d:cab2/64
    - fe80::6ba0:25b4:709c:fcaa/64
    gateway: null
    ip6_privacy: default
    method: auto
    nameservers: []
    ready: true
    route_metric: null
  llmnr: default
  mac: BC:24:11:7D:75:47
  mdns: default
  primary: true
  type: ethernet
  vlan: null
  wifi: null
supervisor_internet: true

After another reboot, it works with only a single NIC. I think the issue is that HA advertises its hostname on both NICs which confuses the router. Is there a way to disable mdns announcement on an interface? I just came across this thread, but the suggested solution does not work for me. Even after unchecking the second NIC, HA still advertises mdns on both NICs.

I think you’ll have to do that at the host level on the nic, not at HA level

HAOS is not meant to be run in a multi-homed so it lacks many of the tools for handling the service bindings.

Why don’t you set setup a proper dns server?
That would solve your mDNS issue for sure :wink:

mDNS do not use a DNS server, so no it will not solve mDNS issues.

I decided to remove one of the interfaces in proxmox and changed all the devices that used this interface to connect to the other one. Thanks for making me aware that HA is not intended to be used with multiple NICs.

One last question: It works perfectly from my laptop now, but my phone still cannot reach homeassistant.local. However, my phone can also not reach other *.local hosts either. Is this an Android issue?

Have you tried using the IP instead?

of course, that works. this thread is purely about mdns

Can you ping homeassistant.local?

I do not know the answer but I have an Android phone (a Samsung with Android 13), so figure I can provide extra data point: Yes using the IP address would work, but no, using .local address would not either on mine.

So maybe I had this issue also, but arguable it’s a non-issue… I have been using IP address for years.

So why bother with mDNS if you can use IP?

  manual_ip: 
    static_ip: 192.168.x.x
    gateway: 192.168.x.x
    subnet: 255.255.255.0

as an example.