Arteco ZS-301Z
| Model | ZS-301Z |
| Vendor | Arteco |
| Description | Soil moisture sensor |
| Exposes | battery_state, temperature, soil_moisture, humidity, illuminance, humidity_calibration, report_interval |
| Picture | ![]() |
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 of0and with a maximum value of3soil_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 of0and with a maximum value of3humidity_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 of0and with a maximum value of3illuminance_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.

