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, system_mode, eco_mode, sensor, valve_state, min_temperature, max_temperature, climate (local_temperature, current_heating_setpoint, local_temperature_calibration), 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.

System mode (binary)

Manual = Manual or Schedule = Auto. Value can be found in the published state on the system_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 {"system_mode": NEW_VALUE}. If value equals Auto system mode is ON, if Manual OFF.

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.

Valve state (enum)

State of the valve. Value can be found in the published state on the valve_state property. It's not possible to read (/get) or write (/set) this value. The possible values are: close, open.

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.

  • 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.
  • 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: W=Weekdays, S=Saturday, U=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): W1h max value is 23
  • 1 (numeric): W1m max value is 59
  • 3 (numeric): W1t min value is 5, max value is 45, unit is °C
  • 4 (numeric): W2h max value is 23
  • 5 (numeric): W2m max value is 59
  • 7 (numeric): W2t min value is 5, max value is 45, unit is °C
  • 8 (numeric): W3h max value is 23
  • 9 (numeric): W3m max value is 59
  • 11 (numeric): W3t min value is 5, max value is 45, unit is °C
  • 12 (numeric): W4h max value is 23
  • 13 (numeric): W4m max value is 59
  • 15 (numeric): W4t min value is 5, max value is 45, unit is °C
  • 16 (numeric): S1h max value is 23
  • 17 (numeric): S1m max value is 59
  • 19 (numeric): S1t min value is 5, max value is 45, unit is °C
  • 20 (numeric): S2h max value is 23
  • 21 (numeric): S2m max value is 59
  • 23 (numeric): S2t min value is 5, max value is 45, unit is °C
  • 24 (numeric): S3h max value is 23
  • 25 (numeric): S3m max value is 59
  • 27 (numeric): S3t min value is 5, max value is 45, unit is °C
  • 28 (numeric): S4h max value is 23
  • 29 (numeric): S4m max value is 59
  • 31 (numeric): S4t min value is 5, max value is 45, unit is °C
  • 32 (numeric): U1h max value is 23
  • 33 (numeric): U1m max value is 59
  • 35 (numeric): U1t min value is 5, max value is 45, unit is °C
  • 36 (numeric): U2h max value is 23
  • 37 (numeric): U2m max value is 59
  • 39 (numeric): U2t min value is 5, max value is 45, unit is °C
  • 40 (numeric): U3h max value is 23
  • 41 (numeric): U3m max value is 59
  • 43 (numeric): U3t min value is 5, max value is 45, unit is °C
  • 44 (numeric): U4h max value is 23
  • 45 (numeric): U4m max value is 59
  • 47 (numeric): U4t 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: 8/30/26, 6:20 PM