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

  • Google Chromecast
  • Belkin WeMo switches
  • Philips Hue
  • Netgear routers
  • Plex media server
  • Panasonic Viera
  • Roku media player
  • Sonos Speakers
  • Yamaha media player
  • Logitech media server (Squeezebox)
  • DirecTV
  • Apple TV
  • Yeelight Sunflower Bulb
  • Linn / Openhome
  • Denon Network Receivers
  • Bose Soundtouch speakers
  • Axis Communications security devices
  • IKEA Trådfri (Tradfri)
  • Harmony Hub

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

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

# Example configuration.yaml entry
    - sonos
    - samsung_tv

Configuration variables:

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

Valid values for ignore are:

  • apple_tv: Apple TV
  • axis: Axis Communications security devices
  • bluesound
  • bose_soundtouch: Bose Soundtouch speakers
  • denonavr: Denon Network Receivers
  • directv: DirecTV
  • frontier_silicon
  • google_cast: Google Chromecast
  • harmony: Harmony Hub
  • ikea_tradfri: IKEA Trådfri
  • logitech_mediaserver: Logitech media server - Squeezebox player
  • openhome: Linn/Openhome
  • panasonic_viera: Panasonic Viera
  • philips_hue: Philips Hue
  • plex_mediaserver: Plex media server
  • roku: Roku media player
  • sabnzbd
  • samsung_tv: Samsung TV
  • sonos: Sonos Speakers
  • yamaha: Yamaha media player
  • yeelight: Yeelight Sunflower Bulb

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.

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

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

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, discovery should work. If you still get an error, check if you have a compiler (gcc) available on your system.

If you are developing a new platform, please read how to make your platform discoverable for further details.