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

    • Zigbee network
    • Improve network range and stability
    • 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
    • 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)

Moes ZHT-002

ModelZHT-002
VendorMoes
DescriptionZHT series thermostat
Exposesstate, child_lock, schedule_mode, eco_mode, sensor, min_temperature, max_temperature, climate (local_temperature, current_heating_setpoint, local_temperature_calibration, system_mode, running_state), max_temperature_limit, deadzone_temperature, programming_mode
PictureMoes ZHT-002

Options

How to use device type specific configuration

  • time_start: Reply to Tuya-specific time synchronization requests: "1970" - Reply with seconds since 1970/01/01 (recommended, should stop the device from asking), "2000" - Reply with seconds since 2000/01/01 (use if the weekday is wrong with 1970), "off" - Don't reply (use if replying causes too much traffic). Default for this device: "2000". The value must be one of 1970, 2000, off

Exposes

State (binary)

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

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.

Schedule mode (enum)

Manual = Manual or Schedule = Auto. Value can be found in the published state on the schedule_mode 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_mode": NEW_VALUE}. The possible values are: manual, auto.

Eco mode (binary)

ECO mode (energy saving mode). Value can be found in the published state on the eco_mode 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 {"eco_mode": NEW_VALUE}. If value equals ON eco mode is ON, if OFF OFF.

Sensor (enum)

Choose which sensor to use. Default: AL. 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: IN, AL, OU.

Min temperature (numeric)

Minimum temperature. Value can be found in the published state on the min_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 {"min_temperature": NEW_VALUE}. The minimal value is 0 and the maximum value is 20. The unit of this value is °C.

Max temperature (numeric)

Maximum temperature. Value can be found in the published state on the max_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 {"max_temperature": NEW_VALUE}. The minimal value is 20 and the maximum value is 50. The unit of this value is °C.

Climate

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

  • 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 0 and 50. 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.
  • 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 and the maximum value is 9 with a step size of 1.

Max temperature limit (numeric)

Max temperature limit. 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 25 and the maximum value is 70.

Deadzone temperature (numeric)

The difference between local temp and set temp that triggers heating. 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 1 and the maximum value is 5. Besides the numeric values the following values are accepted: default.

Programming mode (composite)

Schedule: Weekdays, Saturday and Sunday. 4 slots each with hour(h), minute(m), temperature(t).. Can be set by publishing to zigbee2mqtt/FRIENDLY_NAME/set with payload {"programming_mode": {"0": VALUE, "1": VALUE, "3": VALUE, "4": VALUE, "5": VALUE, "7": VALUE, "8": VALUE, "9": VALUE, "11": VALUE, "12": VALUE, "13": VALUE, "15": VALUE, "16": VALUE, "17": VALUE, "19": VALUE, "20": VALUE, "21": VALUE, "23": VALUE, "24": VALUE, "25": VALUE, "27": VALUE, "28": VALUE, "29": VALUE, "31": VALUE, "32": VALUE, "33": VALUE, "35": VALUE, "36": VALUE, "37": VALUE, "39": VALUE, "40": VALUE, "41": VALUE, "43": VALUE, "44": VALUE, "45": VALUE, "47": VALUE}}

  • 0 (numeric): Weekdays (Monday-Friday), slot 1 - Hour max value is 23
  • 1 (numeric): Weekdays (Monday-Friday), slot 1 - Minute max value is 59
  • 3 (numeric): Weekdays (Monday-Friday), slot 1 - Temperature min value is 5, max value is 45, unit is °C
  • 4 (numeric): Weekdays (Monday-Friday), slot 2 - Hour max value is 23
  • 5 (numeric): Weekdays (Monday-Friday), slot 2 - Minute max value is 59
  • 7 (numeric): Weekdays (Monday-Friday), slot 2 - Temperature min value is 5, max value is 45, unit is °C
  • 8 (numeric): Weekdays (Monday-Friday), slot 3 - Hour max value is 23
  • 9 (numeric): Weekdays (Monday-Friday), slot 3 - Minute max value is 59
  • 11 (numeric): Weekdays (Monday-Friday), slot 3 - Temperature min value is 5, max value is 45, unit is °C
  • 12 (numeric): Weekdays (Monday-Friday), slot 4 - Hour max value is 23
  • 13 (numeric): Weekdays (Monday-Friday), slot 4 - Minute max value is 59
  • 15 (numeric): Weekdays (Monday-Friday), slot 4 - Temperature min value is 5, max value is 45, unit is °C
  • 16 (numeric): Saturday, slot 1 - Hour max value is 23
  • 17 (numeric): Saturday, slot 1 - Minute max value is 59
  • 19 (numeric): Saturday, slot 1 - Temperature min value is 5, max value is 45, unit is °C
  • 20 (numeric): Saturday, slot 2 - Hour max value is 23
  • 21 (numeric): Saturday, slot 2 - Minute max value is 59
  • 23 (numeric): Saturday, slot 2 - Temperature min value is 5, max value is 45, unit is °C
  • 24 (numeric): Saturday, slot 3 - Hour max value is 23
  • 25 (numeric): Saturday, slot 3 - Minute max value is 59
  • 27 (numeric): Saturday, slot 3 - Temperature min value is 5, max value is 45, unit is °C
  • 28 (numeric): Saturday, slot 4 - Hour max value is 23
  • 29 (numeric): Saturday, slot 4 - Minute max value is 59
  • 31 (numeric): Saturday, slot 4 - Temperature min value is 5, max value is 45, unit is °C
  • 32 (numeric): Sunday, slot 1 - Hour max value is 23
  • 33 (numeric): Sunday, slot 1 - Minute max value is 59
  • 35 (numeric): Sunday, slot 1 - Temperature min value is 5, max value is 45, unit is °C
  • 36 (numeric): Sunday, slot 2 - Hour max value is 23
  • 37 (numeric): Sunday, slot 2 - Minute max value is 59
  • 39 (numeric): Sunday, slot 2 - Temperature min value is 5, max value is 45, unit is °C
  • 40 (numeric): Sunday, slot 3 - Hour max value is 23
  • 41 (numeric): Sunday, slot 3 - Minute max value is 59
  • 43 (numeric): Sunday, slot 3 - Temperature min value is 5, max value is 45, unit is °C
  • 44 (numeric): Sunday, slot 4 - Hour max value is 23
  • 45 (numeric): Sunday, slot 4 - Minute max value is 59
  • 47 (numeric): Sunday, slot 4 - Temperature min value is 5, max value is 45, unit is °C
Help to make the docu better and edit this page on Github ✌
Page was last updated on: 9/29/26, 6:53 PM