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 Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.

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

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

# Example configuration.yaml entry
    - sonos
    - samsung_tv
    - homekit

Configuration Variables


(list)(Optional)A list of platforms that never will be automatically configured by `discovery`.


(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
  • directv: DirecTV receivers
  • enigma2: Enigma2 media players
  • frontier_silicon: Frontier Silicon internet radios
  • google_cast: Google Cast
  • harmony: Logitech Harmony Hub
  • igd: Internet Gateway Device
  • logitech_mediaserver: Logitech media server (Squeezebox)
  • netgear_router: Netgear routers
  • octoprint: Octoprint
  • openhome: Linn / Openhome
  • panasonic_viera: Panasonic Viera
  • philips_hue: Philips Hue
  • plex_mediaserver: Plex media server
  • roku: Roku media player
  • sabnzbd: SABnzbd downloader
  • samsung_printer: Samsung SyncThru Printer
  • samsung_tv: Samsung TVs
  • 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



Home Assistant must be on the same network as the devices for uPnP discovery to work. If running Home Assistant in a Docker container use switch --net=host to put it on the host’s network.


64-bit Python

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

Python 3.5

If you are on Windows and you’re using Python 3.5, download the Netifaces dependency.

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.