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 ZG-204ZV

ModelZG-204ZV
VendorTuya
DescriptionLuminance motion sensor
Exposesoccupancy, illuminance, battery, sensitivity, keep_time, illuminance_interval
PictureTuya ZG-204ZV

Notes

Pairing

To start pairing, press the button (pinhole on the side of the device) using a pin/paperclip for approx. 10 seconds. The led will turn on, then start blinking while the pairing process is in progress.

Reading and Setting Values

As a low power device, the motion sensor isn't reachable most of the time, but only when active (e.g. because it detected motion). Therefore, requests to read or set values (i.e. sensitivity or keep_time) will only work when the sensor detects motion.

Options

How to use device type specific configuration

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

Exposes

presence (enum)

Indicates whether the device detected occupancy. Value can be found in the published state on the presence property. It's not possible to read (/get) or write (/set) this value. If value equals 1 presence is ON, if 0 OFF.

Illuminance (numeric)

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

Battery (numeric)

Remaining battery in %, can take up to 24 hours before reported. Value can be found in the published state on the battery property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Sensitivity (numeric)

PIR sensor sensitivity (refresh and update only while active). Value can be found in the published state on the sensitivity 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 {"sensitivity": NEW_VALUE}. The possible values are: 1~19x.

Keep time (enum)

PIR keep time in seconds (refresh and update only while active). Value can be found in the published state on the keep_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 {"keep_time": NEW_VALUE}. The possible values are: 10, 30, 60, 120.

Illuminance interval (numeric)

Brightness acquisition interval (refresh and update only while active). Value can be found in the published state on the illuminance_interval 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 {"illuminance_interval": NEW_VALUE}. The minimal value is 1 and the maximum value is 720. The unit of this value is minutes.

Temperature (numeric)

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

Humidity (numeric)

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

Temperature unit (enum)

Temperature unit. Value can be found in the published state on the temperature_unit 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_unit": NEW_VALUE}. The possible values are: celsius, fahrenheit.

Temperature calibration (numeric)

Temperature calibration. Value can be found in the published state on the temperature_calibration 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_calibration": NEW_VALUE}. The minimal value is -2 and the maximum value is 2. The unit of this value is ��C.

Humidity calibration (numeric)

Humidity calibration. Value can be found in the published state on the humidity_calibration 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 {"humidity_calibration": NEW_VALUE}. The minimal value is -30 and the maximum value is 30. The unit of this value is %.

Help to make the docu better and edit this page on Github ✌
Last Updated:: 5/19/25, 6:34 PM