接入配置
config.json 是 driver-box 用于实现设备接入的描述文件。通常情况下用户只需完成该文件的编写,便可实现设备接入。
该文件的主体结构如下所示:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceModels | array | 必填 | 物模型配置。 用于定义特定通讯协议类型 protocolName 的物模型及其接入设备列表 |
connections | object | 必填 | 连接配置,不同类型的插件配置各不相同 |
protocolName | string | 必填 | 协议插件名称,有效范围: |
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 必填 | 设备模型名称,又可称为物模型名称 |
modelId | string | 必填 | 物模型 ID |
description | string | 可选 | 设备模型描述 |
devicePoints | array | 必填 | 设备点表配置 |
devices | array | 必填 | 设备列表 |
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 必填 | 点位名 |
description | string | 可选 | 点位描述 |
valueType | string | 必填 | 点位值类型,有效范围:int、float |
readWrite | string | 必填 | 点位读写类型,有效范围:
|
unit | string | 可选 | 点位单位,例如:℃、m、s、m³ |
reportMode | string | 必填 | 点位上报模式,有效范围:
|
scale | float | 可选 | 点位值系数换算。 读操作时,会将从设备读取到的值乘以 scale 得到最终值。例如:scale=0.1,则从设备读取到的值为10,则最终值为1。 写操作时,将设定值除以 scale 得到设备可写入的值。例如:scale=0.1,设置点位写入值为1,则最终值为10。 |
decimals | float | 可选 | 保留小数位数,仅针对valueType=float的点位有效。例如:decimals=2,则最终值为1.00。 当decimals=0时,表示不保留小数。 当decimals=1时,表示保留一位小数。 当decimals=2时,表示保留两位小数。 当decimals=3时,表示保留三位小数。 当decimals=4时, |
- | - | 可选 | 插件扩展点表配置。不同类型的插件会在上述配置的基础上额外添加新的配置项。例如:Modbus插件在配置中添加了slaveId 、timeout 等配置项。 |
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sn | string | 必填 | 设备序列号 |
description | string | 选填 | 设备描述 |
ttl | string | 选填 | 设备离线阈值,超过该时长没有收到数据视为离线。 示例:
|
connectionKey | string | 必填 | 设备连接标识 |
driverKey | string | 选填 | 设备驱动标识 |
properties | object | 选填 | 设备属性。通常用于配置设备的保留属性或连接相关信息。 |
保留属性
保留属性是 driver-box 为设备提供的扩展信息配置能力。这类属性的业务逻辑交由用户实现,driver-box 只作配置的持久化。
目前开放的保留属性如下:
- _area:设备所处的区域信息
- _parent_sn:父级设备 SN
- _system_id:设备所属的系统 ID
- modbus
- bacnet
- mqtt
- http server
- http client
- tcp server
- tcp client