Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

Tuya TS0002

ModelTS0002
VendorTuya
Description2-Gang switch with backlight, countdown and inching
Exposesswitch (state), countdown, power_on_behavior, switch_type, backlight_mode, indicator_mode, inching_control_set
PictureTuya TS0002
White-labelZemismart ZM-CSW002-D_switch, Lonsonho X702, AVATTO ZTS02

Options

How to use device type specific configuration

  • state_action: State actions will also be published as 'action' when true (default false). The value must be true or false

Exposes

Switch (l1 endpoint)

The current state of this switch is in the published state under the state_l1 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_l1": "ON"}, {"state_l1": "OFF"} or {"state_l1": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state_l1": ""}.

Switch (l2 endpoint)

The current state of this switch is in the published state under the state_l2 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_l2": "ON"}, {"state_l2": "OFF"} or {"state_l2": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state_l2": ""}.

Countdown (numeric, l1 endpoint)

Countdown to turn device off after a certain time. Value can be found in the published state on the countdown_l1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"countdown_l1": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"countdown_l1": NEW_VALUE}. The minimal value is 0 and the maximum value is 43200. The unit of this value is s.

Countdown (numeric, l2 endpoint)

Countdown to turn device off after a certain time. Value can be found in the published state on the countdown_l2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"countdown_l2": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"countdown_l2": NEW_VALUE}. The minimal value is 0 and the maximum value is 43200. The unit of this value is s.

Power-on behavior (enum, l1 endpoint)

Controls the behavior when the device is powered on after power loss. Value can be found in the published state on the power_on_behavior_l1 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power_on_behavior_l1": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"power_on_behavior_l1": NEW_VALUE}. The possible values are: off, previous, on.

Power-on behavior (enum, l2 endpoint)

Controls the behavior when the device is powered on after power loss. Value can be found in the published state on the power_on_behavior_l2 property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power_on_behavior_l2": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"power_on_behavior_l2": NEW_VALUE}. The possible values are: off, previous, on.

Switch type (enum)

Type of the switch. Value can be found in the published state on the switch_type property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"switch_type": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"switch_type": NEW_VALUE}. The possible values are: toggle, state, momentary.

Backlight mode (binary)

Mode of the backlight. Value can be found in the published state on the backlight_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"backlight_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"backlight_mode": NEW_VALUE}. If value equals ON backlight mode is ON, if OFF OFF.

Indicator mode (enum)

LED indicator mode. Value can be found in the published state on the indicator_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"indicator_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"indicator_mode": NEW_VALUE}. The possible values are: off, off/on, on/off, on.

Inching control set (composite)

Device Inching function Settings. The device will automatically turn off after each turn on for a specified period of time.. Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"inching_control_set": {"inching_control_1": VALUE, "inching_time_1": VALUE, "inching_control_2": VALUE, "inching_time_2": VALUE}}

  • inching_control (binary): Enable/disable inching function for endpoint 1. allowed values: ENABLE or DISABLE
  • inching_time (numeric): Delay time for executing a inching action for endpoint 1. min value is 1, max value is 65535, unit is seconds
  • inching_control (binary): Enable/disable inching function for endpoint 2. allowed values: ENABLE or DISABLE
  • inching_time (numeric): Delay time for executing a inching action for endpoint 2. min value is 1, max value is 65535, unit is seconds
Help to make the docu better and edit this page on Github ✌
Last Updated:: 5/7/25, 7:30 PM