{
  "id": "62480aa9-a7fa-40f1-8e2e-5fd0d8911927",
  "name": "空气品质检测仪(ATU-S500)",
  "expands": {
    "deviceType": "airQualitySensor"
  },
  "properties": [{
    "id": "temperature",
    "name": "温度",
    "accessMode": "r",
    "dataType": {
      "type": "float",
      "min": "-50",
      "max": "99.9",
      "step": "0.1",
      "unit": "℃"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 17,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 0.01
    },
    "remark": ""
  }, {
    "id": "humidity",
    "name": "湿度",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "100",
      "step": "1",
      "unit": "%"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 18,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 0.01
    },
    "remark": ""
  }, {
    "id": "PM25",
    "name": "PM2.5",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "100",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 20,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "pm1.0",
    "name": "PM1.0",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "500",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 19,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "pm10",
    "name": "PM10",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "500",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 21,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "co2",
    "name": "CO2",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1000",
      "step": "1",
      "unit": "ppm"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 22,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  }, {
    "id": "tvocCon",
    "name": "TVOC",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1000",
      "step": "1",
      "unit": "mg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 23,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 0.001
    },
    "remark": ""
  },{
    "id": "ch2o",
    "name": "甲醛",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1000",
      "step": "1",
      "unit": "mg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 24,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 0.001
    },
    "remark": ""
  },{
    "id": "eco2",
    "name": "eCO2",
    "accessMode": "r",
    "dataType": {
      "type": "int",
      "min": "0",
      "max": "1000",
      "step": "1",
      "unit": "ppm"
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": null,
      "reportMethod": 2,
      "registerAddress": 25,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "property35",
    "name": "PM1补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 35,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "property36",
    "name": "PM2.5补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 36,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "property37",
    "name": "PM10补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "1",
      "unit": "μg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 37,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "property38",
    "name": "CO2补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "1",
      "unit": "PPM"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 38,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "property39",
    "name": "TVOC补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "0.001",
      "unit": "PPM"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 39,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 0.001
    },
    "remark": ""
  },{
    "id": "property40",
    "name": "甲醛补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "0.001",
      "unit": "mg/m³"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 40,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 0.001
    },
    "remark": ""
  },{
    "id": "property41",
    "name": "eCO2补偿值",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "-10",
      "max": "10",
      "step": "1",
      "unit": "PPM"
    },
    "expands": {
      "readType": "int",
      "symbol": true,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 41,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "address",
    "name": "地址（Slave ID）",
    "accessMode": "rw",
    "dataType": {
      "type": "int",
      "min": "1",
      "max": "247",
      "step": "1",
      "unit": ""
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 48,
      "registerNumber": 1,
      "swapByte": false,
      "swapOrder": false,
      "scalingFactor": 1.0
    },
    "remark": ""
  },{
    "id": "baudRate",
    "name": "波特率",
    "accessMode": "rw",
    "dataType": {
      "type": "enum",
      "elements": [{
        "value": "1",
        "key": "",
        "text": "1200"
      }, {
        "value": "2",
        "key": "",
        "text": "2400"
      },{
        "value": "3",
        "key": "",
        "text": "4800"
      },{
        "value": "4",
        "key": "",
        "text": "9600"
      },{
        "value": "5",
        "key": "",
        "text": "14400"
      },{
        "value": "6",
        "key": "",
        "text": "38400"
      },{
        "value": "7",
        "key": "",
        "text": "115200"
      }]
    },
    "expands": {
      "readType": "int",
      "symbol": false,
      "b": 0,
      "readFlag": 3,
      "writeFlag": 6,
      "reportMethod": 2,
      "registerAddress": 49,
      "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
    }
  }
}