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. Must not be used together with availability.

brightness_command_topic string (optional)
The MQTT topic to publish commands to change the light’s brightness.

brightness_command_template string (optional)
Defines a template to compose message which will be sent to brightness_command_topic. Available variables: value.

brightness_scale integer (optional, default: 255)
Defines the maximum brightness value (i.e., 100%) of the MQTT device.

brightness_state_topic string (optional)
The MQTT topic subscribed to receive brightness state updates.

brightness_value_template string (optional)
Defines a template to extract the brightness value.

color_mode_state_topic string (optional)
The MQTT topic subscribed to receive color mode updates. If this is not configured, color_mode will be automatically set according to the last received valid color or color temperature

color_mode_value_template string (optional)
Defines a template to extract the color mode.

color_temp_command_template string (optional)
Defines a template to compose message which will be sent to color_temp_command_topic. Available variables: value.

color_temp_command_topic string (optional)
The MQTT topic to publish commands to change the light’s color temperature state. The color temperature command slider has a range of 153 to 500 mireds (micro reciprocal degrees).

color_temp_state_topic string (optional)
The MQTT topic subscribed to receive color temperature state updates.

color_temp_value_template string (optional)
Defines a template to extract the color temperature value.

command_topic string REQUIRED
The MQTT topic to publish commands to change the switch state.

device map (optional)
Information about the device this light 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.

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 and published messages. Set to "" to disable decoding of incoming payload.

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

effect_command_topic string (optional)
The MQTT topic to publish commands to change the light’s effect state.

effect_command_template string (optional)
Defines a template to compose message which will be sent to effect_command_topic. Available variables: value.

effect_list string | list (optional)
The list of effects the light supports.

effect_state_topic string (optional)
The MQTT topic subscribed to receive effect state updates.

effect_value_template string (optional)
Defines a template to extract the effect value.

hs_command_topic string (optional)
The MQTT topic to publish commands to change the light’s color state in HS format (Hue Saturation). Range for Hue: 0° .. 360°, Range of Saturation: 0..100. Note: Brightness is sent separately in the brightness_command_topic.

hs_state_topic string (optional)
The MQTT topic subscribed to receive color state updates in HS format. Note: Brightness is received separately in the brightness_state_topic.

hs_value_template string (optional)
Defines a template to extract the HS value.

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. Usage example can be found in MQTT sensor documentation.

json_attributes_topic string (optional)
The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in MQTT sensor documentation.

max_mireds integer (optional)
The maximum color temperature in mireds.

min_mireds integer (optional)
The minimum color temperature in mireds.

name string (optional, default: MQTT Light)
The name of the light.

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

on_command_type string (optional)
Defines when on the payload_on is sent. Using last (the default) will send any style (brightness, color, etc) topics first and then a payload_on to the command_topic. Using first will send the payload_on and then any style topics. Using brightness will only send brightness commands instead of the payload_on to turn the light on.

optimistic boolean (optional)
Flag that defines if switch works in optimistic mode.

Default: true if no state topic defined, else false.
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.

payload_off string (optional, default: OFF)
The payload that represents disabled state.

payload_on string (optional, default: ON)
The payload that represents enabled state.

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

retain boolean (optional, default: false)
If the published message should have the retain flag on or not.

rgb_command_template string (optional)
Defines a template to compose message which will be sent to rgb_command_topic. Available variables: red, green and blue.

rgb_command_topic string (optional)
The MQTT topic to publish commands to change the light’s RGB state.

rgb_state_topic string (optional)
The MQTT topic subscribed to receive RGB state updates. The expected payload is the RGB values separated by commas, for example, 255,0,127.

rgb_value_template string (optional)
Defines a template to extract the RGB value.

rgbw_command_template string (optional)
Defines a template to compose message which will be sent to rgbw_command_topic. Available variables: red, green, blue and white.

rgbw_command_topic string (optional)
The MQTT topic to publish commands to change the light’s RGBW state.

rgbw_state_topic string (optional)
The MQTT topic subscribed to receive RGBW state updates. The expected payload is the RGBW values separated by commas, for example, 255,0,127,64.

rgbw_value_template string (optional)
Defines a template to extract the RGBW value.

rgbww_command_template string (optional)
Defines a template to compose message which will be sent to rgbww_command_topic. Available variables: red, green, blue, cold_white and warm_white.

rgbww_command_topic string (optional)
The MQTT topic to publish commands to change the light’s RGBWW state.

rgbww_state_topic string (optional)
The MQTT topic subscribed to receive RGBWW state updates. The expected payload is the RGBWW values separated by commas, for example, 255,0,127,64,32.

rgbww_value_template string (optional)
Defines a template to extract the RGBWW value.

schema string (optional, default: default)
The schema to use. Must be default or omitted to select the default schema.

state_topic string (optional)
The MQTT topic subscribed to receive state updates.

state_value_template string (optional)
Defines a template to extract the state value. The template should match the payload on and off values, so if your light uses power on to turn on, your state_value_template string should return power on when the switch is on. For example if the message is just on, your state_value_template should be power .

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

white_command_topic string (optional)
The MQTT topic to publish commands to change the light to white mode with a given brightness.

white_scale integer (optional, default: 255)
Defines the maximum white level (i.e., 100%) of the MQTT device.

xy_command_topic string (optional)
The MQTT topic to publish commands to change the light’s XY state.

xy_state_topic string (optional)
The MQTT topic subscribed to receive XY state updates.

xy_value_template string (optional)
Defines a template to extract the XY value.

