availability list (optional)
A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with availability_topic.

payload_available string (optional, default: online)
The payload that represents the available state.

payload_not_available string (optional, default: offline)
The payload that represents the unavailable state.

topic string REQUIRED
An MQTT topic subscribed to receive availability (online/offline) updates.

value_template template (optional)
Defines a template to extract device’s availability from the topic. To determine the devices’s availability result of this template will be compared to payload_available and payload_not_available.

availability_mode string (optional, default: latest)
When availability is configured, this controls the conditions needed to set the entity to available. Valid entries are all, any, and latest. If set to all, payload_available must be received on all configured availability topics before the entity is marked as online. If set to any, payload_available must be received on at least one configured availability topic before the entity is marked as online. If set to latest, the last payload_available or payload_not_available received on any configured availability topic controls the availability.

availability_template template (optional)
Defines a template 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.

availability_topic string (optional)
The MQTT topic subscribed to receive availability (online/offline) updates.

device map (optional)
Information about the device this sensor is a part of to tie it into the device registry. Only works through MQTT discovery and when unique_id is set. At least one of identifiers or connections must be present to identify the device.

configuration_url string (optional)
A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.

connections list (optional)
A list of connections of the device to the outside world as a list of tuples [connection_type, connection_identifier]. For example the MAC address of a network interface: "connections": [["mac", "02:5b:26:a8:dc:12"]].

hw_version string (optional)
The hardware version of the device.

identifiers string | list (optional)
A list of IDs that uniquely identify the device. For example a serial number.

manufacturer string (optional)
The manufacturer of the device.

model string (optional)
The model of the device.

name string (optional)
The name of the device.

suggested_area string (optional)
Suggest an area if the device isn’t in one yet.

sw_version string (optional)
The firmware version of the device.

via_device string (optional)
Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.

device_class device_class (optional, default: None)
The type/class of the sensor to set the icon in the frontend.

enabled_by_default boolean (optional, default: true)
Flag which defines if the entity should be enabled when first added.

encoding string (optional, default: utf-8)
The encoding of the payloads received. Set to "" to disable decoding of incoming payload.

entity_category string (optional, default: None)
The category of the entity.

expire_after integer (optional, default: 0)
If set, it defines the number of seconds after the sensor’s state expires, if it’s not updated. After expiry, the sensor’s state becomes unavailable. Default the sensors state never expires.

force_update boolean (optional, default: false)
Sends update events even if the value hasn’t changed. Useful if you want to have meaningful value graphs in history.

icon icon (optional)
Icon for the entity.

json_attributes_template template (optional)
Defines a template to extract the JSON dictionary from messages received on the json_attributes_topic.

json_attributes_topic string (optional)
The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Implies force_update of the current sensor state when a message is received on this topic.

last_reset_value_template string (optional)
Defines a template to extract the last_reset. Available variables: entity_id. The entity_id can be used to reference the entity’s attributes.

name string (optional, default: MQTT Sensor)
The name of the MQTT sensor.

object_id string (optional)
Used instead of name for automatic generation of entity_id

payload_available string (optional, default: online)
The payload that represents the available state.

payload_not_available string (optional, default: offline)
The payload that represents the unavailable state.

qos integer (optional, default: 0)
The maximum QoS level of the state topic.

state_class string (optional, default: None)
The state_class of the sensor.

state_topic string REQUIRED
The MQTT topic subscribed to receive sensor values.

unique_id string (optional)
An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception.

unit_of_measurement string (optional)
Defines the units of measurement of the sensor, if any.

value_template template (optional)
Defines a template to extract the value. If the template throws an error, the current state will be used instead.

