{
  "id": "f2c07250-d04b-4d69-8a97-15ac3bf2b707",
  "name": "M702 七合一空气质量传感器",
  "expands": {
    "deviceType": "airQualitySensor"
  },
  "properties": [{
    "id": "temperature",
    "name": "温度值",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "-40",
      "max": "100",
      "step": "1",
      "unit": "℃"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 7,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0,
      "formatScale": 0.1
    },
    "remark": ""
  }, {
    "id": "humidity",
    "name": "湿度值",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "100",
      "step": "1",
      "unit": "%"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 8,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0,
      "formatScale": 0.1
    },
    "remark": ""
  }, {
    "id": "co2",
    "name": "CO2浓度",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "400",
      "max": "5000",
      "step": "1",
      "unit": "ppm"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 2,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "meth",
    "name": "甲醛浓度",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "2000",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 3,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "tvoc",
    "name": "TVOC浓度",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "2000",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 4,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "PM25",
    "name": "PM2.5浓度",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "999",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 5,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "PM10",
    "name": "PM10浓度",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1000",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 6,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }],
  "functions": [],
  "events": [],
  "protocol": {
    "type": "Modbus-Rtu",
    "expands": {
      "baudRate": 9600,
      "dataBits": 8,
      "startBits": 1,
      "stopBits": 1,
      "parity": 0
    }
  }
}