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 X5H-GB-B

ModelX5H-GB-B
VendorTuya
DescriptionWall-mount thermostat
Exposesclimate (current_heating_setpoint, local_temperature, local_temperature_calibration, system_mode, running_state, preset), sensor, schedule, child_lock, week, brightness_state, sound, frost_protection, factory_reset, heating_temp_limit, deadzone_temperature, upper_temp
PictureTuya X5H-GB-B
White-labelBeok TGR85-ZB, AVATTO ZWT-100-16A

Notes

Pairing

When the thermostat is on, long press the temperature up button for 5 seconds. Now the WiFi-like icon starts flashing indicating readiness for pairing the device.

Exposes

Climate

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

  • 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 60. 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, program. 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.

Sensor (enum)

Select temperature sensor to use. Value can be found in the published state on the sensor 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 {"sensor": NEW_VALUE}. The possible values are: internal, external, both.

Schedule (text)

There are 8 periods in the schedule in total. 6 for workdays and 2 for holidays. It should be set in the following format for each of the periods: hours:minutes/temperature. All periods should be set at once and delimited by the space symbol. For example: 06:00/20.5 08:00/15 11:30/15 13:30/15 17:00/22 22:00/15 06:00/20 22:00/15. The thermostat doesn't report the schedule by itself even if you change it manually from device. Value can be found in the published state on the schedule 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 {"schedule": NEW_VALUE}.

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.

Week (enum)

Week format user for schedule. Value can be found in the published state on the week 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 {"week": NEW_VALUE}. The possible values are: 5+2, 6+1, 7.

Brightness state (enum)

Screen brightness. Value can be found in the published state on the brightness_state 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 {"brightness_state": NEW_VALUE}. The possible values are: off, low, medium, high.

Sound (binary)

Switches beep sound when interacting with thermostat. Value can be found in the published state on the sound 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 {"sound": NEW_VALUE}. If value equals ON sound is ON, if OFF OFF.

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.

Factory reset (binary)

Resets all settings to default. Doesn't unpair device.. 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.

Heating temp limit (numeric)

Heating temperature limit. Value can be found in the published state on the heating_temp_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 {"heating_temp_limit": NEW_VALUE}. The minimal value is 5 and the maximum value is 60. The unit of this value is °C. Besides the numeric values the following values are accepted: default.

Deadzone temperature (numeric)

The delta between local_temperature and current_heating_setpoint to trigger Heat. Value can be found in the published state on the deadzone_temperature 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 {"deadzone_temperature": NEW_VALUE}. The minimal value is 0.5 and the maximum value is 9.5. The unit of this value is °C. Besides the numeric values the following values are accepted: default.

Upper temp (numeric)

Value can be found in the published state on the upper_temp 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 {"upper_temp": NEW_VALUE}. The minimal value is 35 and the maximum value is 95. The unit of this value is °C. Besides the numeric values the following values are accepted: default.

Help to make the docu better and edit this page on Github ✌
Last Updated:: 6/18/25, 7:45 PM