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)

Arteco ZS-301Z

ModelZS-301Z
VendorArteco
DescriptionSoil moisture sensor
Exposesbattery_state, temperature, soil_moisture, humidity, illuminance, humidity_calibration, report_interval
PictureArteco ZS-301Z

At least some version of this device (e.g. model "C3007", board has "ZSSF01" written on it) have prohibitively high amount of messages emitted (without being able to setup report interval), resulting in very fast battery drain (matter of days) and suffer from other issues like the set values not persisting. See https://github.com/Koenkk/zigbee2mqtt/issues/29254 for more details.

Options

How to use device type specific configuration

  • temperature_calibration: Calibrates the temperature value (absolute offset), takes into effect on next report of device. The value must be a number.

  • temperature_precision: Number of digits after decimal point for temperature, 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

  • soil_moisture_calibration: Calibrates the soil_moisture value (absolute offset), takes into effect on next report of device. The value must be a number.

  • soil_moisture_precision: Number of digits after decimal point for soil_moisture, 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

  • humidity_calibration: Calibrates the humidity value (absolute offset), takes into effect on next report of device. The value must be a number.

  • humidity_precision: Number of digits after decimal point for humidity, 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

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

Exposes

Battery state (enum)

low: 1-25%, middle: 26-50%, high: 51-100%. Value can be found in the published state on the battery_state property. It's not possible to read (/get) or write (/set) this value. The possible values are: low, middle, high.

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.

Soil moisture (numeric)

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

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 %.

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.

Humidity calibration (numeric)

Adjust humidity. 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 %.

Report interval (numeric)

Report interval. Value can be found in the published state on the report_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 {"report_interval": NEW_VALUE}. The minimal value is 30 and the maximum value is 1200. The unit of this value is s.

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