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)

Zemismart ZMZ609-2

ModelZMZ609-2
VendorZemismart
DescriptionZigbee neutral touchscreen switch 2 gang with power monitoring
Exposesswitch (state), countdown_l1, countdown_l2, power_on_behavior, radar_switch, child_lock, backlight, radar_distance, screen_off_time, name, energy, current, power, voltage
PictureZemismart ZMZ609-2

Notes

Weather forecast display

The touchscreen also shows the current date, time and weather. The weather part is not read from the device but pushed to it: publish temperature_0/humidity_0/condition_0 (today) and temperature_1/humidity_1/condition_1, temperature_2/humidity_2/condition_2 (next two days) to zigbee2mqtt/FRIENDLY_NAME/set, e.g.:

{"temperature_0": 21, "humidity_0": 55, "condition_0": "sunny"}

These properties have no corresponding expose (there is nothing to configure in the UI), they only exist as a write-only channel meant to be fed periodically by an automation pulling from a weather service. Possible condition_X values: sunny, heavy_rain, cloudy, sandstorm, light_snow, snow, freezing_fog, rainstorm, shower, dust, spit, sleet, yin, freezing_rain, rain, fog, heavy_shower, heavy_snow, heavy_downpour, blizzard, hailstone, snow_shower, haze, thunder_shower.

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: "1970". The value must be one of 1970, 2000, off

  • energy_calibration: Calibrates the energy value (percentual offset), takes into effect on next report of device. The value must be a number.

  • energy_precision: Number of digits after decimal point for energy, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a maximum value of 3

  • current_calibration: Calibrates the current value (percentual offset), takes into effect on next report of device. The value must be a number.

  • current_precision: Number of digits after decimal point for current, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a maximum value of 3

  • power_calibration: Calibrates the power value (percentual offset), takes into effect on next report of device. The value must be a number.

  • power_precision: Number of digits after decimal point for power, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a maximum value of 3

  • voltage_calibration: Calibrates the voltage value (percentual offset), takes into effect on next report of device. The value must be a number.

  • voltage_precision: Number of digits after decimal point for voltage, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a maximum value of 3

Exposes

Switch (l1 endpoint)

The current state of this switch is in the published state under the state_l1 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_l1": "ON"}, {"state_l1": "OFF"} or {"state_l1": "TOGGLE"}. It's not possible to read (/get) this value.

Switch (l2 endpoint)

The current state of this switch is in the published state under the state_l2 property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state_l2": "ON"}, {"state_l2": "OFF"} or {"state_l2": "TOGGLE"}. It's not possible to read (/get) this value.

Countdown l1 (numeric)

Countdown for gang 1. Value can be found in the published state on the countdown_l1 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 {"countdown_l1": NEW_VALUE}. The minimal value is 0 and the maximum value is 43200. The unit of this value is s.

Countdown l2 (numeric)

Countdown for gang 2. Value can be found in the published state on the countdown_l2 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 {"countdown_l2": NEW_VALUE}. The minimal value is 0 and the maximum value is 43200. The unit of this value is s.

Power-on behavior (enum)

Controls the behavior when the device is powered on after power loss. Value can be found in the published state on the power_on_behavior 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 {"power_on_behavior": NEW_VALUE}. The possible values are: off, previous, on.

Power-on behavior (enum, l1 endpoint)

Controls the behavior when the device is powered on after power loss. Value can be found in the published state on the power_on_behavior_l1 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 {"power_on_behavior_l1": NEW_VALUE}. The possible values are: off, previous, on.

Power-on behavior (enum, l2 endpoint)

Controls the behavior when the device is powered on after power loss. Value can be found in the published state on the power_on_behavior_l2 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 {"power_on_behavior_l2": NEW_VALUE}. The possible values are: off, previous, on.

Radar switch (binary)

Radar switch. Value can be found in the published state on the radar_switch 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 {"radar_switch": NEW_VALUE}. If value equals ON radar switch 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.

Backlight (numeric)

Backlight brightness. Value can be found in the published state on the backlight 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 {"backlight": NEW_VALUE}. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Radar distance (enum)

Radar distance. Value can be found in the published state on the radar_distance 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 {"radar_distance": NEW_VALUE}. The possible values are: short, medium_short, medium, medium_long, long.

Screen off time (enum)

Screen off time. Value can be found in the published state on the screen_off_time 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 {"screen_off_time": NEW_VALUE}. The possible values are: none, 10, 20, 30, 45, 60.

Name (text, l1 endpoint)

Display name for gang 1. Value can be found in the published state on the name_l1 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 {"name_l1": NEW_VALUE}.

Name (text, l2 endpoint)

Display name for gang 2. Value can be found in the published state on the name_l2 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 {"name_l2": NEW_VALUE}.

Energy (numeric)

Sum of consumed energy. Value can be found in the published state on the energy property. It's not possible to read (/get) or write (/set) this value. The unit of this value is kWh.

Current (numeric)

Instantaneous measured electrical current. Value can be found in the published state on the current property. It's not possible to read (/get) or write (/set) this value. The unit of this value is A.

Power (numeric)

Instantaneous measured power. Value can be found in the published state on the power property. It's not possible to read (/get) or write (/set) this value. The unit of this value is W.

Voltage (numeric)

Measured electrical potential value. Value can be found in the published state on the voltage property. It's not possible to read (/get) or write (/set) this value. The unit of this value is V.

Help to make the docu better and edit this page on Github ✌
Page was last updated on: 8/30/26, 6:20 PM