Modbus: Карта регистров

Материал из HOMEd Wiki
HOMEd > Modbus > База данных > Карта регистров

Общие сведения

Карта регистров позволяет описывать схему данных для любых устройств, не выходящих за рамки стандарта Modbus. Карта регистров описывается как массив JSON-объектов, каждый элемент которого добавляет соответствующую способность. Структура описания карты регистров выглядит так:

{
  ...
  "type": "customController",
  "items":
  [
    {
      "address": 110,
      "registerType": "holding",
      "dataType": "u16",
      "byteOrder": "be",
      "divider": 0.01,
      "expose": "myMumber",
      "type": "value",
      "read": true
    },
    {
      "address": 2,
      "registerType": "status",
      "expose": "myBinarySensor",
      "type": "enum",
      "read": true
    }
  ]
  ...
}

Карта регистров работает только для устройств типа "customController". Карта регистров поддерживает только типовые способности устройств. Специальные способности не поддерживаются.

Параметры регистров

address

Адрес регистра в десятичном формате.

registerType

Тип регистра. Возможные значения:

  • coil (функции 1 и 5)
  • status (функция 2)
  • holding (функции 3, 6 и 16)
  • input (функция 4)

dataType

Тип данных. Актуально только для регистров типа "holding" или "input". Возможные значения:

  • i16
  • u16
  • i32
  • u32
  • i64
  • u64
  • f32
  • f64

byteOrder

Порядок следования байтов. Актуально только для регистров типа "holding" или "input". Возможные значения:

  • be
  • le
  • mixed

divider

Делитель итогового значения. Актуально только для регистров типа "holding" или "input".

expose

Название соответствующей способности устройства.

type

Способ предоставления данных. Возможные значения:

  • bool
  • value
  • emum

read

Разрешение чтения регистра.