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 BOT-R15W

ModelBOT-R15W
VendorTuya
DescriptionBeok wall thermostat (battery powered)
Exposeschild_lock, climate (system_mode, preset, current_heating_setpoint, running_state, local_temperature, local_temperature_calibration), frost_protection, max_temperature_limit, temperature_delta, factory_reset, battery
PictureTuya BOT-R15W

Exposes

Child lock (binary)

Enables/disables physical input on the device. Value can be found in the published state on the child_lock property. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"child_lock": NEW_VALUE}. If value equals LOCK child lock is ON, if UNLOCK OFF.

Climate

This climate device supports the following features: system_mode, preset, current_heating_setpoint, running_state, local_temperature, local_temperature_calibration.

  • current_heating_setpoint: Temperature setpoint. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"current_heating_setpoint": VALUE} where VALUE is the °C between 5 and 35. Reading (/get) this attribute is not possible.
  • local_temperature: Current temperature measured on the device (in °C). Reading (/get) this attribute is not possible.
  • system_mode: Mode of this device. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"system_mode": VALUE} where VALUE is one of: off, heat. Reading (/get) this attribute is not possible.
  • preset: Mode of this device (similar to system_mode). To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"preset": VALUE} where VALUE is one of: manual, auto, mixed, away. Reading (/get) this attribute is not possible.
  • running_state: The current running state. Possible values are: idle, heat. Reading (/get) this attribute is not possible.
  • local_temperature_calibration: Offset to add/subtract to the local temperature. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"local_temperature_calibration": VALUE}.The minimal value is -9.9 and the maximum value is 9.9 with a step size of 0.1.

Frost protection (binary)

Antifreeze function. Value can be found in the published state on the frost_protection property. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"frost_protection": NEW_VALUE}. If value equals ON frost protection is ON, if OFF OFF.

Max temperature limit (numeric)

Maximum upper temperature. Value can be found in the published state on the max_temperature_limit property. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"max_temperature_limit": NEW_VALUE}. The minimal value is 15 and the maximum value is 90. The unit of this value is °C. Besides the numeric values the following values are accepted: default.

Temperature delta (numeric)

Delta between local temp and setpoint to trigger heat. Value can be found in the published state on the temperature_delta property. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"temperature_delta": NEW_VALUE}. The minimal value is 0.5 and the maximum value is 10. The unit of this value is °C. Besides the numeric values the following values are accepted: default.

Factory reset (binary)

Full factory reset, use with caution!. Value can be found in the published state on the factory_reset property. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"factory_reset": NEW_VALUE}. If value equals ON factory reset is ON, if OFF OFF.

Battery (numeric)

Remaining battery in %, can take up to 24 hours before reported. Value can be found in the published state on the battery property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Help to make the docu better and edit this page on Github ✌
Last Updated: 11/1/25, 8:43 PM