mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-18 23:06:58 +00:00
parent
d8dff2be2e
commit
ba80f8b73a
@ -235,10 +235,6 @@ payload_trigger:
|
||||
required: false
|
||||
type: string
|
||||
default: TRIGGER
|
||||
platform:
|
||||
description: Must be `alarm_control_panel`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -188,10 +188,6 @@ payload_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "ON"
|
||||
platform:
|
||||
description: Must be `binary_sensor`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -167,10 +167,6 @@ payload_press:
|
||||
required: false
|
||||
type: string
|
||||
default: "PRESS"
|
||||
platform:
|
||||
description: Must be `button`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -195,10 +195,6 @@ payload_stop:
|
||||
required: false
|
||||
type: string
|
||||
default: STOP
|
||||
platform:
|
||||
description: Must be `cover`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
position_closed:
|
||||
description: Number which represents closed position.
|
||||
required: false
|
||||
|
@ -163,10 +163,6 @@ payload_reset:
|
||||
required: false
|
||||
type: string
|
||||
default: '"None"'
|
||||
platform:
|
||||
description: Must be `device_tracker`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -26,10 +26,6 @@ payload:
|
||||
description: Optional payload to match the payload being sent over the topic.
|
||||
required: false
|
||||
type: string
|
||||
platform:
|
||||
description: Must be `device_automation`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -160,10 +160,6 @@ payload_not_available:
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
platform:
|
||||
description: Must be `event`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -250,10 +250,6 @@ percentage_value_template:
|
||||
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the `percentage` value from the payload received on `percentage_state_topic`.
|
||||
required: false
|
||||
type: template
|
||||
platform:
|
||||
description: Must be `fan`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
preset_mode_command_template:
|
||||
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `preset_mode_command_topic`.
|
||||
required: false
|
||||
|
@ -262,10 +262,6 @@ modes:
|
||||
required: false
|
||||
type: [list]
|
||||
default: []
|
||||
platform:
|
||||
description: Must be `humidfier`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -171,10 +171,6 @@ pause_command_topic:
|
||||
description: The MQTT topic that publishes commands when the service `lawn_mower.pause` service call is executed. The value `pause` is published when the service is called. Use a `pause_command_template` to publish a custom format.
|
||||
required: false
|
||||
type: string
|
||||
platform:
|
||||
description: Must be `lawn_mower`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -295,10 +295,6 @@ payload_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "ON"
|
||||
platform:
|
||||
description: Must be `light`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
@ -694,10 +690,6 @@ payload_not_available:
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
platform:
|
||||
description: Must be `light`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
@ -1058,10 +1050,6 @@ payload_not_available:
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
platform:
|
||||
description: Must be `light`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -197,10 +197,6 @@ payload_reset:
|
||||
required: false
|
||||
type: string
|
||||
default: '"None"'
|
||||
platform:
|
||||
description: Must be `lock`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -301,7 +301,7 @@ The discovery topic needs to follow a specific format:
|
||||
```
|
||||
|
||||
- `<discovery_prefix>`: The Discovery Prefix defaults to `homeassistant`. This prefix can be [changed](#discovery-options).
|
||||
- `<component>`: One of the supported MQTT integrations, eg. `binary_sensor`, or `device` in case of a device discovery.
|
||||
- `<component>`: One of the supported MQTT integrations, eg. `binary_sensor`.
|
||||
- `<node_id>` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
|
||||
- `<object_id>`: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
|
||||
|
||||
@ -309,234 +309,6 @@ The `<node_id>` level can be used by clients to only subscribe to their own (com
|
||||
|
||||
Best practice for entities with a `unique_id` is to set `<object_id>` to `unique_id` and omit the `<node_id>`.
|
||||
|
||||
#### Device discovery payload
|
||||
|
||||
A device can send a discovery payload to expose all components for a device.
|
||||
The `<component>` part in the discovery topic must be set to `device`.
|
||||
|
||||
As an alternative it is also possible a device [can send a discovery payload for each component](/integrations/mqtt/#single-component-discovery-payload) it wants to set up.
|
||||
|
||||
The shared options are at root level of the JSON message and must include the `device` mapping (abbreviated as `dev`) and `origin` mapping (abbreviated as `o`). The `device` and `origin` mappings are required options and cannot be overridden at entity/component level.
|
||||
|
||||
Supported shared options are:
|
||||
|
||||
- The `availability` [options](/integrations/mqtt/#using-availability-topics).
|
||||
- The `origin` (required) [options](/integrations/mqtt/#adding-information-about-the-origin-af-a-discovery-message)
|
||||
- `command_topic`
|
||||
- `state_topic`
|
||||
- `qos`
|
||||
- `encoding`
|
||||
|
||||
The component specific options are placed as mappings under the `components` key (abbreviated as `cmp`) like:
|
||||
|
||||
```json
|
||||
{
|
||||
"dev": {
|
||||
"ids": "ea334450945afc",
|
||||
"name": "Kitchen",
|
||||
"mf": "Bla electronics",
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
},
|
||||
"cmp": {
|
||||
"some_unique_component_id1": {
|
||||
"platform": "sensor",
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
},
|
||||
"some_unique_id2": {
|
||||
"platform": "sensor",
|
||||
"device_class":"humidity",
|
||||
"unit_of_measurement":"%",
|
||||
"value_template":"{% raw %}{{ value_json.humidity}}{% endraw %}",
|
||||
"unique_id":"temp01ae_h",
|
||||
}
|
||||
},
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
}
|
||||
```
|
||||
|
||||
The components id's under the `components` (`cmp`) key should are used as part of the discovery identification. A `platform` config option is required for each component config that is added to identify the component platform.
|
||||
|
||||
To remove the components, publish an empty string to the discovery topic. This will remove the component and clear the published discovery payload. It will also remove the device entry if there are no further references to it.
|
||||
|
||||
An empty config can be published as an update to remove a single component from the device discovery. Note that adding the platform option is still required.
|
||||
|
||||
```json
|
||||
{
|
||||
"dev": {
|
||||
"ids": "ea334450945afc",
|
||||
"name": "Kitchen",
|
||||
"mf": "Bla electronics",
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
},
|
||||
"cmp": {
|
||||
"some_unique_component_id1": {
|
||||
"platform": "sensor",
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
},
|
||||
"some_unique_id2": {
|
||||
"platform": "sensor",
|
||||
}
|
||||
},
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
}
|
||||
```
|
||||
|
||||
This will explicitly cleanup the humidity sensor and its entry.
|
||||
|
||||
After the component has been removed an other update should be send where the part for the humidity sensor is left away:
|
||||
|
||||
```json
|
||||
{
|
||||
"dev": {
|
||||
"ids": "ea334450945afc",
|
||||
"name": "Kitchen",
|
||||
"mf": "Bla electronics",
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
},
|
||||
"cmp": {
|
||||
"some_unique_component_id1": {
|
||||
"platform": "sensor",
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
}
|
||||
},
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
}
|
||||
```
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
A component config part in a device discovery payload must have the `platform` option set with the name of the `component` and also must have at least one component specific config option.
|
||||
|
||||
</div>
|
||||
|
||||
##### Migration from single component to device based discovery
|
||||
|
||||
To allow a smooth migration from single component discovery to device based discovery, the `discovery_id` for an `mqtt` item must be the same. Migration is only supported from the single component discovery, if has **both** a `node_id` and an `object_id`. After migration the `object_id` moves inside the discovery payload and the previous `node_id` becomes the new `object_id` of the device discovery topic. Note that is also is supported to migrate back.
|
||||
|
||||
**Example (device automation):**
|
||||
Discovery topic single: `homeassistant/device_automation/0AFFD2/bla/config`
|
||||
Discovery id: `0AFFD2 bla` *(both `0AFFD2` and `bla` from the discovery topic)*
|
||||
Discovery payload single:
|
||||
|
||||
```json
|
||||
{
|
||||
"automation_type": "trigger",
|
||||
"device": {
|
||||
"identifiers": [
|
||||
"0AFFD2"
|
||||
]
|
||||
},
|
||||
"o": {
|
||||
"name": "foobar"
|
||||
},
|
||||
"payload": "short_press",
|
||||
"topic": "foobar/triggers/button1",
|
||||
"type": "button_short_press",
|
||||
"subtype": "button_1"
|
||||
}
|
||||
```
|
||||
|
||||
**Device discovery with migration support:**
|
||||
Discovery topic device: `homeassistant/device/0AFFD2/config`
|
||||
Discovery id: `0AFFD2 bla` *(`0AFFD2`from discovery topic, `bla`: The key under `cmp` in the discovery payload)*
|
||||
Discovery payload device:
|
||||
|
||||
```json
|
||||
{
|
||||
"device": {
|
||||
"identifiers": [
|
||||
"0AFFD2"
|
||||
]
|
||||
},
|
||||
"o": {
|
||||
"name": "foobar"
|
||||
},
|
||||
"cmp": {
|
||||
"bla": {
|
||||
"automation_type": "trigger",
|
||||
"payload": "short_press",
|
||||
"topic": "foobar/triggers/button1",
|
||||
"type": "button_short_press",
|
||||
"subtype": "button_1",
|
||||
"platform": "device_automation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
If the new device discovery payload has the same `discovery_id` and comes after the single discovery payload. Home Assistant will publish `None` (retained) to the single discovery payload to remove it. This avoids rediscovery when Home Assistant restarts.
|
||||
|
||||
#### Single component discovery payload
|
||||
|
||||
The `<component>` part in the discovery topic must be one of the supported MQTT platforms.
|
||||
The options in the payload are only used to set up one specific component. If there are more components, more discovery payloads need to be sent for the other components, and it is then recommended to use [device based discovery](/integrations/mqtt/#device-discovery-payload) instead.
|
||||
|
||||
Example discovery payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"dev": {
|
||||
"ids": "ea334450945afc",
|
||||
"name": "Kitchen",
|
||||
"mf": "Bla electronics",
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
},
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
}
|
||||
|
||||
To remove the component publish an empty string to the discovery topic. This will remove the component and clear the published discovery payload. It will also remove the device entry if there are no further references to it.
|
||||
|
||||
For more examples [see](/integrations/mqtt/#discovery-examples-with-component-discovery).
|
||||
|
||||
#### Discovery payload
|
||||
|
||||
The payload must be a serialized JSON dictionary and will be checked like an entry in your {% term "`configuration.yaml`" %} file if a new device is added, with the exception that unknown configuration keys are allowed but ignored. This means that missing variables will be filled with the integration's default values. All configuration variables which are *required* must be present in the payload. The reason for allowing unknown documentation keys is allow some backwards compatibility, software generating MQTT discovery messages can then be used with older Home Assistant versions which will simply ignore new features.
|
||||
@ -559,8 +331,6 @@ support_url:
|
||||
description: Support URL of the application that supplies the discovered MQTT item.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
#### Supported abbreviations in MQTT discovery messages
|
||||
|
||||
{% details "Supported abbreviations" %}
|
||||
|
||||
```txt
|
||||
@ -597,7 +367,6 @@ support_url:
|
||||
'cmd_on_tpl': 'command_on_template',
|
||||
'cmd_t': 'command_topic',
|
||||
'cmd_tpl': 'command_template',
|
||||
'cmp': 'components',
|
||||
'cod_arm_req': 'code_arm_required',
|
||||
'cod_dis_req': 'code_disarm_required',
|
||||
'cod_trig_req': 'code_trigger_required',
|
||||
@ -846,29 +615,7 @@ support_url:
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
#### Adding information about the origin af a discovery message
|
||||
|
||||
It is encouraged to add additional information about the origin that supplies MQTT entities via MQTT discovery by adding the `origin` option (can be abbreviated to `o`) to the discovery payload. For device-based discovery, adding shared `origin` info is required. Note that these options also support abbreviations. The origin information will be in the core event log when an item is discovered or updated.
|
||||
|
||||
{% configuration_basic %}
|
||||
name:
|
||||
description: The name of the application that is the origin the discovered MQTT item. This option is required.
|
||||
sw_version:
|
||||
description: Software version of the application that supplies the discovered MQTT item.
|
||||
support_url:
|
||||
description: Support URL of the application that supplies the discovered MQTT item.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
{% details "Supported abbreviations for origin info" %}
|
||||
|
||||
```txt
|
||||
'name': 'name',
|
||||
'sw': 'sw_version',
|
||||
'url': 'support_url',
|
||||
```
|
||||
{% enddetails %}
|
||||
|
||||
### Discovery messages en availability
|
||||
### How to use discovery messages
|
||||
|
||||
When MQTT discovery is set up, and a device or service sends a discovery message,
|
||||
an MQTT entity, tag, or device automation will be set up directly after receiving the message.
|
||||
@ -960,23 +707,47 @@ availability_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
|
||||
required: false
|
||||
type: template
|
||||
payload_available:
|
||||
description: The payload that represents the available state.
|
||||
required: false
|
||||
type: string
|
||||
default: online
|
||||
payload_not_available:
|
||||
description: The payload that represents the unavailable state.
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
{% endconfiguration %}
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
### Discovery examples
|
||||
### Support by third-party tools
|
||||
|
||||
### Discovery examples with component discovery
|
||||
The following software has built-in support for MQTT discovery:
|
||||
|
||||
- [ArduinoHA](https://github.com/dawidchyrzynski/arduino-home-assistant)
|
||||
- [Arilux AL-LC0X LED controllers](https://github.com/smrtnt/Arilux_AL-LC0X)
|
||||
- [ble2mqtt](https://github.com/devbis/ble2mqtt)
|
||||
- [digitalstrom-mqtt](https://github.com/gaetancollaud/digitalstrom-mqtt)
|
||||
- [ebusd](https://github.com/john30/ebusd)
|
||||
- [ecowitt2mqtt](https://github.com/bachya/ecowitt2mqtt)
|
||||
- [EMS-ESP32 (and EMS-ESP)](https://github.com/emsesp/EMS-ESP32)
|
||||
- [ESPHome](https://esphome.io)
|
||||
- [ESPurna](https://github.com/xoseperez/espurna)
|
||||
- [go-iotdevice](https://github.com/koestler/go-iotdevice)
|
||||
- [HASS.Agent](https://github.com/LAB02-Research/HASS.Agent)
|
||||
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
|
||||
- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon)
|
||||
- [MyElectricalData](https://github.com/MyElectricalData/myelectricaldata_import#english)
|
||||
- [Nuki Hub](https://github.com/technyon/nuki_hub)
|
||||
- [Nuki Smart Lock 3.0 Pro](https://support.nuki.io/hc/articles/12947926779409-MQTT-support), [more info](https://developer.nuki.io/t/mqtt-api-specification-v1-3/17626)
|
||||
- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway)
|
||||
- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0)
|
||||
- [SmartHome](https://github.com/roncoa/SmartHome)
|
||||
- [SpeedTest-CLI MQTT](https://github.com/adorobis/speedtest-CLI2mqtt)
|
||||
- [SwitchBot-MQTT-BLE-ESP32](https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32)
|
||||
- [Tasmota](https://github.com/arendst/Tasmota) (starting with 5.11.1e, development halted)
|
||||
- [TeddyCloud](https://github.com/toniebox-reverse-engineering/teddycloud)
|
||||
- [Teleinfo MQTT](https://fmartinou.github.io/teleinfo2mqtt) (starting with 3.0.0)
|
||||
- [Tydom2MQTT](https://fmartinou.github.io/tydom2mqtt/)
|
||||
- [What's up Docker?](https://fmartinou.github.io/whats-up-docker/) (starting with 3.5.0)
|
||||
- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt)
|
||||
- [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks)
|
||||
- [Zehnder Comfoair RS232 MQTT](https://github.com/adorobis/hacomfoairmqtt)
|
||||
- [Zigbee2MQTT](https://github.com/koenkk/zigbee2mqtt)
|
||||
- [OTGateway](https://github.com/Laxilef/OTGateway)
|
||||
|
||||
### Discovery examples
|
||||
|
||||
#### Motion detection (binary sensor)
|
||||
|
||||
@ -1228,46 +999,6 @@ The entity id is automatically generated from the entity's name. All MQTT integr
|
||||
|
||||
In the example above, the entity_id will be `sensor.my_super_device` instead of `sensor.device1`.
|
||||
|
||||
### Support by third-party tools
|
||||
|
||||
The following software has built-in support for MQTT discovery:
|
||||
|
||||
### Support by third-party tools
|
||||
|
||||
The following software has built-in support for MQTT discovery:
|
||||
|
||||
- [ArduinoHA](https://github.com/dawidchyrzynski/arduino-home-assistant)
|
||||
- [Arilux AL-LC0X LED controllers](https://github.com/smrtnt/Arilux_AL-LC0X)
|
||||
- [ble2mqtt](https://github.com/devbis/ble2mqtt)
|
||||
- [digitalstrom-mqtt](https://github.com/gaetancollaud/digitalstrom-mqtt)
|
||||
- [ebusd](https://github.com/john30/ebusd)
|
||||
- [ecowitt2mqtt](https://github.com/bachya/ecowitt2mqtt)
|
||||
- [EMS-ESP32 (and EMS-ESP)](https://github.com/emsesp/EMS-ESP32)
|
||||
- [ESPHome](https://esphome.io)
|
||||
- [ESPurna](https://github.com/xoseperez/espurna)
|
||||
- [go-iotdevice](https://github.com/koestler/go-iotdevice)
|
||||
- [HASS.Agent](https://github.com/LAB02-Research/HASS.Agent)
|
||||
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
|
||||
- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon)
|
||||
- [MyElectricalData](https://github.com/MyElectricalData/myelectricaldata_import#english)
|
||||
- [Nuki Hub](https://github.com/technyon/nuki_hub)
|
||||
- [Nuki Smart Lock 3.0 Pro](https://support.nuki.io/hc/articles/12947926779409-MQTT-support), [more info](https://developer.nuki.io/t/mqtt-api-specification-v1-3/17626)
|
||||
- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway)
|
||||
- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0)
|
||||
- [SmartHome](https://github.com/roncoa/SmartHome)
|
||||
- [SpeedTest-CLI MQTT](https://github.com/adorobis/speedtest-CLI2mqtt)
|
||||
- [SwitchBot-MQTT-BLE-ESP32](https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32)
|
||||
- [Tasmota](https://github.com/arendst/Tasmota) (starting with 5.11.1e, development halted)
|
||||
- [TeddyCloud](https://github.com/toniebox-reverse-engineering/teddycloud)
|
||||
- [Teleinfo MQTT](https://fmartinou.github.io/teleinfo2mqtt) (starting with 3.0.0)
|
||||
- [Tydom2MQTT](https://fmartinou.github.io/tydom2mqtt/)
|
||||
- [What's up Docker?](https://fmartinou.github.io/whats-up-docker/) (starting with 3.5.0)
|
||||
- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt)
|
||||
- [Xiaomi DaFang Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks)
|
||||
- [Zehnder Comfoair RS232 MQTT](https://github.com/adorobis/hacomfoairmqtt)
|
||||
- [Zigbee2MQTT](https://github.com/koenkk/zigbee2mqtt)
|
||||
- [OTGateway](https://github.com/Laxilef/OTGateway)
|
||||
|
||||
## Manual configured MQTT items
|
||||
|
||||
For most integrations, it is also possible to manually set up MQTT items in {% term "`configuration.yaml`" %}. Read more [about configuration in YAML](/docs/configuration/yaml).
|
||||
|
@ -170,10 +170,6 @@ payload_reset:
|
||||
required: false
|
||||
type: string
|
||||
default: '"None"'
|
||||
platform:
|
||||
description: Must be `number`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -161,10 +161,6 @@ payload_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "ON"
|
||||
platform:
|
||||
description: Must be `scene`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -162,10 +162,6 @@ options:
|
||||
description: List of options that can be selected. An empty list or a list with a single item is allowed.
|
||||
required: true
|
||||
type: list
|
||||
platform:
|
||||
description: Must be `select`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -171,10 +171,6 @@ payload_not_available:
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
platform:
|
||||
description: Must be `sensor`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
suggested_display_precision:
|
||||
description: The number of decimals which should be used in the sensor's state after rounding.
|
||||
required: false
|
||||
|
@ -190,10 +190,6 @@ payload_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "ON"
|
||||
platform:
|
||||
description: Must be `siren`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -181,10 +181,6 @@ payload_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "ON"
|
||||
platform:
|
||||
description: Must be `switch`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -165,10 +165,6 @@ pattern:
|
||||
description: A valid regular expression the text being set or received must match with.
|
||||
required: false
|
||||
type: string
|
||||
platform:
|
||||
description: Must be `text`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -166,10 +166,6 @@ payload_install:
|
||||
description: The MQTT payload to start installing process.
|
||||
required: false
|
||||
type: string
|
||||
platform:
|
||||
description: Must be `update`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -170,10 +170,6 @@ payload_stop:
|
||||
required: false
|
||||
type: string
|
||||
default: stop
|
||||
platform:
|
||||
description: Must be `vacuum`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||
required: false
|
||||
|
@ -218,10 +218,6 @@ payload_stop:
|
||||
description: The command payload that stops the valve. When not configured, the valve will not support the `valve.stop` service.
|
||||
required: false
|
||||
type: string
|
||||
platform:
|
||||
description: Must be `valve`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
position_closed:
|
||||
description: Number which represents closed position. The valve's position will be scaled to the(`position_closed`...`position_open`) range when a service is called and scaled back when a value is received.
|
||||
required: false
|
||||
|
@ -209,10 +209,6 @@ payload_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "ON"
|
||||
platform:
|
||||
description: Must be `water_heater`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
|
||||
required: true
|
||||
type: string
|
||||
power_command_template:
|
||||
description: A template to render the value sent to the `power_command_topic` with. The `value` parameter is the payload set for `payload_on` or `payload_off`.
|
||||
required: false
|
||||
|
Loading…
x
Reference in New Issue
Block a user