{
  "id": "6236ba1a-bdf6-41f3-9e7e-b81c55eaec89",
  "name": "DX40-XC",
  "expands": {
    "deviceType": "airQualitySensor"
  },
  "properties": [
    {
      "id": "temperature",
      "name": "温度",
      "accessMode": "r",
      "dataType": {
        "type": "float",
        "min": "-45",
        "max": "45",
        "step": "0.1",
        "unit": "℃"
      },
      "expands": {
        "readType": "int",
        "symbol": true,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 1,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 0.1
      },
      "remark": ""
    },
    {
      "id": "humidity",
      "name": "湿度",
      "accessMode": "r",
      "dataType": {
        "type": "float",
        "min": "0",
        "max": "100",
        "step": "0.1",
        "unit": "%"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 2,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 0.1
      },
      "remark": ""
    },
    {
      "id": "co2",
      "name": "CO2",
      "accessMode": "r",
      "dataType": {
        "type": "int",
        "min": "0",
        "max": "9999",
        "step": "1",
        "unit": "ppm"
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 3,
        "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": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": null,
        "reportMethod": 2,
        "registerAddress": 0,
        "registerNumber": 1,
        "swapByte": false,
        "swapOrder": false,
        "scalingFactor": 1.0
      },
      "remark": ""
    },
    {
      "id": "address",
      "name": "设备地址",
      "accessMode": "rw",
      "dataType": {
        "type": "int",
        "min": "1",
        "max": "254",
        "step": "1",
        "unit": ""
      },
      "expands": {
        "readType": "int",
        "symbol": false,
        "b": 0,
        "readFlag": 3,
        "writeFlag": 6,
        "reportMethod": 2,
        "registerAddress": 10,
        "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
    }
  }
}