home-assistant.io/source/_docs/mqtt/birth_will.markdown

2.4 KiB

title, description, logo
title description logo
MQTT Birth and Last will Instructions on how to setup MQTT birth and last will messages within Home Assistant. mqtt.png

Home Assistant's MQTT integration supports so-called Birth and Last Will and Testament (LWT) messages. The former is used to send a message after the service has started, and the latter is used to notify other clients about a disconnected client. Please note that the LWT message will be sent both in case of a clean (e.g. Home Assistant shutting down) and in case of an unclean (e.g. Home Assistant crashing or losing its network connection) disconnect.

By default, Home Assistant sends online and offline to homeassistant/status.

To customize the MQTT Birth and Last Will messages, add the following section to your configuration.yaml file:

# Example configuration.yaml entry
mqtt:
  birth_message:
    topic: "hass/status"
    payload: "online"
  will_message:
    topic: "hass/status"
    payload: "offline"

{% configuration %} birth_message: description: Birth Message. Set to the empty dict, {}, to disable publishing a birth message. required: false type: map keys: topic: description: The MQTT topic to publish the message. required: false default: homeassistant/status type: string payload: description: The message content. required: false default: online type: string qos: description: The maximum QoS level of the topic. required: false default: 0 type: integer retain: description: If the published message should have the retain flag on or not. required: false default: false type: boolean will_message: description: Will Message. Set to the empty dict, {}, to disable publishing a will message. required: false type: map keys: topic: description: The MQTT topic to publish the message. required: false default: homeassistant/status type: string payload: description: The message content. required: false default: offline type: string qos: description: The maximum QoS level of the topic. required: false default: 0 type: integer retain: description: If the published message should have the retain flag on or not. required: false default: false type: boolean {% endconfiguration %}