Discovery


Home Assistant can discover and automatically configure zeroconf/mDNS and UPnP devices on your network. Currently the discovery integration can detect:

It will be able to add Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.

Zeroconf discoverable integrations Axis/ESPHome/HomeKit/Tradfri/Google Cast have been migrated to use zeroconf integration to initiate discovery.

To load this integration, add the following lines to your configuration.yaml file:

# Example configuration.yaml entry
discovery:
  ignore:
    - sonos
    - samsung_printer
  enable:
    - homekit

Configuration Variables

ignore list (Optional)

A list of platforms that never will be automatically configured by discovery.

enable list (Optional)

A list of platforms not enabled by default that discovery should discover.

Valid values for ignore are:

  • apple_tv: Apple TV
  • belkin_wemo: Belkin WeMo switches
  • bluesound: Bluesound speakers
  • bose_soundtouch: Bose Soundtouch speakers
  • denonavr: Denon network receivers
  • enigma2: Enigma2 media players
  • frontier_silicon: Frontier Silicon internet radios
  • harmony: Logitech Harmony Hub
  • logitech_mediaserver: Logitech Media Server (Squeezebox)
  • netgear_router: NETGEAR routers
  • octoprint: Octoprint
  • openhome: Linn / Openhome
  • panasonic_viera: Panasonic Viera
  • philips_hue: Philips Hue
  • sabnzbd: SABnzbd downloader
  • samsung_printer: Samsung SyncThru Printer
  • sonos: Sonos speakers
  • songpal : Songpal
  • tellstick: Telldus Live
  • wink: Wink Hub
  • yamaha: Yamaha media player
  • yeelight: Yeelight lamps and bulbs (not only Yeelight Sunflower bulb)
  • xiaomi_gw: Xiaomi Aqara gateway

Valid values for enable are:

  • dlna_dmr: DLNA DMR enabled devices

Troubleshooting

mDNS and UPnP

Home Assistant should be on the same network as the devices for mDNS and UPnP discovery to work.

When running Home Assistant Core in a Docker container command line option --net=host or the compose file equivalent network_mode: host must be used to put it on the host’s network, otherwise mDNS and UPnP will not work.

If mDNS is still not working:

  • Make sure there are no firewall rules blocking mDNS traffic. mDNS relies on sending and receiving UDP multicast packets on port 5353.
  • mDNS traffic may not be forwarded correctly between the wired and wireless interfaces of a Wi-Fi AP or router.

mDNS forwarding

If it’s not possible to have Home Assistant and the devices on the same network, mDNS forwarding may allow mDNS discovery between networks.

mDNS forwarding is a configurable option in some routers. It can also be called mDNS reflector or mDNS repeater, depending on the manufacturer.

Windows

64-bit Python

There is currently a known issue with running this integration on a 64-bit version of Python and Windows.

Could not install dependency netdisco

If you see Not initializing discovery because could not install dependency netdisco==0.6.1 in the logs, you will need to install the python3-dev or python3-devel package on your system manually (eg. sudo apt-get install python3-dev or sudo dnf -y install python3-devel). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (gcc) available on your system.

DSM and Synology

For DSM/Synology, install via debian-chroot see this forum post.