diff --git a/developers/addons/addon.md b/developers/addons/addon.md
index c9ace3c938..3b47beaf30 100644
--- a/developers/addons/addon.md
+++ b/developers/addons/addon.md
@@ -38,6 +38,10 @@ If the add-on consists of more than one bundle, only one `addon.xml` is allowed
OR
+
+ ...
+
+
```
@@ -53,6 +57,7 @@ If the add-on consists of more than one bundle, only one `addon.xml` is allowed
| config-description | The configuration description for the binding within the ConfigDescriptionRegistry (cf. [Configuration Description](config-xml.html)) | optional |
| config-description-ref | The reference to a configuration description for the binding within the ConfigDescriptionRegistry | optional |
| config-description-ref.uri | The URI of the configuration description for the binding within the ConfigDescriptionRegistry | mandatory |
+| discovery-methods | A set of xml elements that describe how the system can scan the network to discover present devices | optional |
The full XML schema for add-on definitions is specified in the [Add-on XSD](https://openhab.org/schemas/addon-1.0.0.xsd) file.
@@ -63,6 +68,27 @@ The full XML schema for add-on definitions is specified in the [Add-on XSD](http
- Normally the service id must not be defined, because it is implicitly set to "type.<addonId>".
An add-on can register an OSGi service which implements the ManagedService interface and define the service.pid as e.g."binding.hue" to receive the configuration.
+### Discovery Methods
+
+The system can scan the network for present devices to determine if it should suggest to install specific addons during setup.
+Optionally, if you want the system to scan the user's network for your addon then you need to include additional `discovery-method` fields.
+
+| XML Element Name | Description | Instances |
+|---------------------|-------------------------------------------------------------------------------|------------------------------------------------|
+| `discovery-methods` | Wrapper for `discovery-method` elements (see below). | Zero or one instances per file. |
+| `discovery-method` | Complex XML element describing an addon discovery method. | Zero or more instances per file. |
+| `service-type` | The type of discovery method. May be `upnp` or `mdns`. | Mandatory one per `discovery-method`. |
+| `mdns-service-type` | If `service-type` is `mdns`, contains the MDNS discovery service type. | Optional one per `discovery-method`. |
+| `match-properties` | Wrapper for `match-property` elements (see below). | Zero or one instances per `discovery-method`. |
+| `match-property` | A property name and regular expression used for matching discovery findings. | Zero or more instances per `discovery-method`. |
+| `name` | A property name to search for. | Mandatory one instance per `match-property`. |
+| `regex` | A regular expression (or plain string) that needs to match the property name. | Mandatory one instance per `match-property`. |
+
+Notes:
+
+- A `discovery-method` may contain multiple `match-property` entries, and in such a case **all** entries must match i.e. it a logical `AND` function is applied.
+- If you want to apply a logical `OR` function you can define a second separate `discovery-method` containing the respective `match-property` entry.
+
## Example
The following code gives an example for an add-on definition used in bindings.
@@ -81,5 +107,21 @@ The following code gives an example for an add-on definition used in bindings.
local
+
+
+ mdns
+ _hue._tcp.local.
+
+
+ upnp
+
+
+ modelName
+ Philips hue bridge
+
+
+
+
+
```