From 7c80cab476406b0bc438af534e05a9ce501a3ca2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 25 May 2019 13:34:10 -0700 Subject: [PATCH] Document discovery (#264) * Document discovery * Remove extra commented dots --- docs/creating_integration_manifest.md | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/creating_integration_manifest.md b/docs/creating_integration_manifest.md index e7acaf5e..185ff46e 100644 --- a/docs/creating_integration_manifest.md +++ b/docs/creating_integration_manifest.md @@ -75,3 +75,33 @@ git clone https://github.com/balloob/pychromecast.git pip install -e ./pychromecast hass --skip-pip ``` + +## Zeroconf + +If your integration supports discovery via [Zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking), you can add the type to your manifest. If the user has the `zeroconf` integration loaded, it will load the `zeroconf` step of your integration's config flow when it is discovered. + +```json5 +{ + "zeroconf": ["_googlecast._tcp.local."] +} +``` + +## SSDP + +If your integration supports discovery via [SSDP](https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol), you can add the type to your manifest. If the user has the `ssdp` integration loaded, it will load the `ssdp` step of your integration's config flow when it is discovered. We support SSDP discovery by ST, manufacturer and device type. Your integration is discovered if any of the specified info is found. It's up to your config flow to filter out duplicates. + +```json5 +{ + "ssdp": { + "st": [ + "roku:ecp" + ], + "manufacturer": [ + "Roku" + ], + "device_type": [ + "urn:roku-com:device:player:1-0" + ] + } +} +```