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)

Moes ZHT-S03

ModelZHT-S03
VendorMoes
DescriptionZigbee wall thermostat
Exposeschild_lock, climate (system_mode, current_heating_setpoint, running_state, preset, local_temperature, local_temperature_calibration), temperature_delta, working_day, schedule_weekday, schedule_holiday, frost_protection
PictureMoes ZHT-S03

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, current_heating_setpoint, running_state, preset, 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: schedule, manual. 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.

Temperature delta (numeric)

The delta between local_temperature and current_heating_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.

Working day (enum)

Workday setting. Value can be found in the published state on the working_day 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 {"working_day": NEW_VALUE}. The possible values are: mon_fri, mon_sat, mon_sun.

Schedule weekday (text)

Workdays (6 times hh:mm/cc.c°C). Value can be found in the published state on the schedule_weekday 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_weekday": NEW_VALUE}.

Schedule holiday (text)

Holidays (2 times hh:mm/cc.c°C). Value can be found in the published state on the schedule_holiday 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_holiday": NEW_VALUE}.

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.

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