Skip to content

[Device] CS-201Z Soil moisture sensor #1075

@chrisjshull

Description

@chrisjshull

Device Model

CS-201Z

Is there an existing issue for this?

  • I have searched the existing issues and did not find an existing issue.

Supported by Zigbee2MQTT?

  • Device is supported by Zigbee2MQTT

Missing features / functionality

Soil moisture is not exposed.

HomeKit Services and Characteristics

I know there has been some thought that soil moisture could be reported as humidity - but this device also has a humidity sensor. So maybe a custom characteristic for now? (Unless humidity can be reported twice?)

Exposes information from Zigbee2MQTT

{
      "manufacturer" : "HOBEIAN",
      "model_id" : "ZG-303Z",
      "disabled" : false,
      "interview_completed" : true,
      "friendly_name" : "Soil sensor A",
      "definition" : {
         "supports_ota" : false,
         "description" : "Soil moisture sensor",
         "exposes" : [
            {
               "value_off" : false,
               "name" : "dry",
               "description" : "Water shortage warning",
               "type" : "binary",
               "label" : "Dry",
               "value_on" : true,
               "property" : "dry",
               "access" : 1
            },
            {
               "description" : "Measured temperature value",
               "type" : "numeric",
               "name" : "temperature",
               "unit" : "°C",
               "access" : 1,
               "property" : "temperature",
               "label" : "Temperature"
            },
            {
               "access" : 1,
               "property" : "humidity",
               "label" : "Humidity",
               "description" : "Measured relative humidity",
               "type" : "numeric",
               "name" : "humidity",
               "unit" : "%"
            },
            {
               "access" : 1,
               "property" : "soil_moisture",
               "label" : "Soil moisture",
               "type" : "numeric",
               "description" : "Measured soil moisture value",
               "name" : "soil_moisture",
               "unit" : "%"
            },
            {
               "access" : 3,
               "property" : "temperature_unit",
               "label" : "Temperature unit",
               "type" : "enum",
               "description" : "Temperature unit",
               "values" : [
                  "celsius",
                  "fahrenheit"
               ],
               "name" : "temperature_unit"
            },
            {
               "value_step" : 0.1,
               "unit" : "°C",
               "name" : "temperature_calibration",
               "type" : "numeric",
               "description" : "Temperature calibration",
               "label" : "Temperature calibration",
               "value_max" : 2,
               "property" : "temperature_calibration",
               "value_min" : -2,
               "access" : 3
            },
            {
               "value_step" : 1,
               "unit" : "%",
               "name" : "humidity_calibration",
               "description" : "Humidity calibration",
               "type" : "numeric",
               "label" : "Humidity calibration",
               "value_max" : 30,
               "property" : "humidity_calibration",
               "value_min" : -30,
               "access" : 3
            },
            {
               "property" : "soil_calibration",
               "value_max" : 30,
               "label" : "Soil calibration",
               "access" : 3,
               "value_min" : -30,
               "unit" : "%",
               "value_step" : 1,
               "type" : "numeric",
               "description" : "Soil Humidity calibration",
               "name" : "soil_calibration"
            },
            {
               "value_min" : 5,
               "access" : 3,
               "label" : "Temperature sampling",
               "value_max" : 3600,
               "property" : "temperature_sampling",
               "name" : "temperature_sampling",
               "description" : "Air temperature and humidity sampling",
               "type" : "numeric",
               "value_step" : 1,
               "unit" : "s"
            },
            {
               "value_step" : 1,
               "unit" : "s",
               "description" : "Soil humidity sampling",
               "type" : "numeric",
               "name" : "soil_sampling",
               "property" : "soil_sampling",
               "value_max" : 3600,
               "label" : "Soil sampling",
               "access" : 3,
               "value_min" : 5
            },
            {
               "value_max" : 100,
               "property" : "soil_warning",
               "label" : "Soil warning",
               "access" : 3,
               "value_min" : 0,
               "unit" : "%",
               "value_step" : 1,
               "description" : "Soil water shortage humidity value",
               "type" : "numeric",
               "name" : "soil_warning"
            },
            {
               "access" : 1,
               "value_min" : 0,
               "property" : "battery",
               "value_max" : 100,
               "label" : "Battery",
               "category" : "diagnostic",
               "description" : "Remaining battery in %, can take up to 24 hours before reported",
               "type" : "numeric",
               "name" : "battery",
               "unit" : "%"
            },
            {
               "label" : "Linkquality",
               "value_max" : 255,
               "property" : "linkquality",
               "value_min" : 0,
               "access" : 1,
               "unit" : "lqi",
               "category" : "diagnostic",
               "name" : "linkquality",
               "description" : "Link quality (signal strength)",
               "type" : "numeric"
            }
         ],
         "model" : "CS-201Z",
         "vendor" : "COOLO",
         "options" : [
            {
               "label" : "Temperature calibration",
               "property" : "temperature_calibration",
               "access" : 2,
               "name" : "temperature_calibration",
               "description" : "Calibrates the temperature value (absolute offset), takes into effect on next report of device.",
               "type" : "numeric"
            },
            {
               "access" : 2,
               "value_min" : 0,
               "property" : "temperature_precision",
               "value_max" : 3,
               "label" : "Temperature precision",
               "description" : "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.",
               "type" : "numeric",
               "name" : "temperature_precision"
            },
            {
               "property" : "humidity_calibration",
               "label" : "Humidity calibration",
               "access" : 2,
               "description" : "Calibrates the humidity value (absolute offset), takes into effect on next report of device.",
               "type" : "numeric",
               "name" : "humidity_calibration"
            },
            {
               "value_max" : 3,
               "property" : "humidity_precision",
               "label" : "Humidity precision",
               "access" : 2,
               "value_min" : 0,
               "description" : "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.",
               "type" : "numeric",
               "name" : "humidity_precision"
            },
            {
               "description" : "Calibrates the soil_moisture value (absolute offset), takes into effect on next report of device.",
               "type" : "numeric",
               "name" : "soil_moisture_calibration",
               "property" : "soil_moisture_calibration",
               "label" : "Soil moisture calibration",
               "access" : 2
            },
            {
               "value_max" : 3,
               "property" : "soil_moisture_precision",
               "label" : "Soil moisture precision",
               "access" : 2,
               "value_min" : 0,
               "type" : "numeric",
               "description" : "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.",
               "name" : "soil_moisture_precision"
            }
         ]
      },
      "ieee_address" : "0xa4c1387f3e89a546",
      "interview_state" : "SUCCESSFUL",
      "type" : "EndDevice",
      "power_source" : "Battery",
      "interviewing" : false,
      "software_build_id" : "0122052017",
      "network_address" : 12254,
      "supported" : true,
      "endpoints" : {
         "1" : {
            "clusters" : {
               "input" : [
                  "genBasic",
                  "genIdentify",
                  "manuSpecificTuya",
                  "msTemperatureMeasurement",
                  "msRelativeHumidity",
                  "genPowerCfg"
               ],
               "output" : [
                  "genIdentify"
               ]
            },
            "scenes" : [],
            "configured_reportings" : [],
            "bindings" : []
         }
      }
   },

Additional information / Other remarks

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions