Modbus/Database/Items: различия между версиями

Материал из HOMEd Wiki
 
(не показано 7 промежуточных версий этого же участника)
Строка 3: Строка 3:


== Общие сведения ==
== Общие сведения ==
Карта регистров позволяет описывать схему данных для любых устройств, не выходящих за рамки стандарта Modbus. Карта регистров описывается как массив JSON-объектов, каждый элемент которого добавляет соответствующую [[Common/Exposes|способность]]. Структура описания биндингов выглядит так:
Карта регистров позволяет описывать схему данных для любых устройств, не выходящих за рамки стандарта Modbus. Карта регистров описывается как массив JSON-объектов, каждый элемент которого добавляет соответствующую [[Common/Exposes|способность]]. Структура описания карты регистров выглядит так:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Строка 41: Строка 41:
Тип регистра. Возможные значения:
Тип регистра. Возможные значения:
* <code class="value">coil</code> (функции 1 и 5)
* <code class="value">coil</code> (функции 1 и 5)
* <code class="value">status</code> (функция 2)
* <code class="value">discrete</code> (функция 2)
* <code class="value">holding</code> (функции 3, 6 и 16)
* <code class="value">holding</code> (функции 3, 6 и 16)
* <code class="value">input</code> (функция 4)
* <code class="value">input</code> (функция 4)
Строка 56: Строка 56:
* <code class="value">f64</code>
* <code class="value">f64</code>


=== <code>outPattern</code> ===
=== <code>byteOrder</code> ===
Шаблон для передечи состояния описываемого свойства в топик <code>outTopic</code>. В случае отсутствия этого параметра данные будут опубликованы без изменений. Подробнее в разделе [[Custom/Database/Bindings#Шаблоны|шаблоны]].
Порядок следования байтов. Актуально только для регистров типа <code class="value">"holding"</code> или <code class="value">"input"</code>. Возможные значения:
* <code class="value">be</code>
* <code class="value">le</code>
* <code class="value">mixed</code>
 
=== <code>divider</code> ===
Делитель итогового значения. Актуально только для регистров типа <code class="value">"holding"</code> или <code class="value">"input"</code>.
 
=== <code>expose</code> ===
Название соответствующей [[Common/Exposes|способности]] устройства.
 
=== <code>type</code> ===
Способ предоставления данных. Возможные значения:
* <code class="value">bool</code>
* <code class="value">value</code>
* <code class="value">emum</code>
 
=== <code>read</code> ===
Разрешение чтения регистра.


[[Category:Modbus]]
[[Category:Modbus]]

Текущая версия от 05:36, 9 апреля 2025

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)
  • discrete (функция 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

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