MQTT Scene


The mqtt scene platform lets you control your MQTT enabled scenes.

Configuration

To enable a MQTT scene in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
scene:
  - platform: mqtt
    command_topic: zigbee2mqtt/living_room_group/set

Configuration Variables

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.

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_topic string (Optional)

The MQTT topic subscribed to receive availability (online/offline) updates. Must not be used together with availability.

command_topic string (Optional)

The MQTT topic to publish commands to change the switch state.

icon icon (Optional)

Icon for the switch.

name string (Optional, default: MQTT Switch)

The name to use when displaying this switch.

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_on string (Optional, default: ON)

The payload that represents on state. If specified, will be used for both comparing to the value in the state_topic (see value_template and state_on for details) and sending as on command to the command_topic.

qos integer (Optional, default: 0)

The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.

retain boolean (Optional, default: false)

If the published message should have the retain flag on or not.

unique_id string (Optional)

An ID that uniquely identifies this switch device. If two switches have the same unique ID, Home Assistant will raise an exception.

Make sure that your topic matches exactly. some-topic/ and some-topic are different topics.

Examples

In this section, you will find some real-life examples of how to use this sensor.

Full configuration

The example below shows a full configuration for a switch.

# Example configuration.yaml entry
switch:
  - platform: mqtt
    unique_id: living_room_party_scene
    name: "Living Room Party Scene"
    command_topic: "home/living_room/party_scene/set"
    availability:
      - topic: "home/living_room/party_scene/available"
    payload_on: "ON"
    qos: 0
    retain: true

Use with a JSON Payload

The example below shows a configuration using a JSON payload.

# Example configuration.yaml entry
scene:
  - platform: mqtt
    name: Living Room Blue Scene
    unique_id: living_room_blue_scene
    command_topic: "home/living_room/set"
    payload_on: '{"activate_scene": "Blue Scene"}'