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

Материал из HOMEd Wiki
(Новая страница: «{{DISPLAYTITLE:Modbus: База данных}} {{Breadcrumbs|Modbus > База данных}} == Файл базы данных == База данных это файл, в котором хранится описание устройств. По умолчанию это <code>/opt/homed-modbus/database.json</code>. Путь к файлу базы данных может быть изменен в конфигурации. Не...»)
 
 
(не показано 12 промежуточных версий этого же участника)
Строка 13: Строка 13:
     {
     {
       "active": true,
       "active": true,
       "id": "myCustomDevice1",
       "type": "homedRelayController",
       "name": "My Custom Device",
       "portId": 1,
       "real": false,
      "slaveId": 11,
      "baudRate": 115200,
      "pollInterval": 1000,
      "requestTimeout": 1000,
      "replyTimeout": 5,
       "name": "Relay Controller",
       "cloud": true,
       "cloud": true,
       "discovery": true,
       "discovery": false
      "exposes":
      [
        ...
      ],
      "options":
      {
        ...
      }
     },
     },
     {
     {
       "active": true,
       "active": true,
       "id": "myCustomDevice2",
       "type": "customController",
       "name": "Other Custom Device",
       "portId": 2,
       "real": true,
      "slaveId": 25,
       "cloud": true,
      "baudRate": 9600,
      "pollInterval": 1000,
      "requestTimeout": 1000,
      "replyTimeout": 10,
       "name": "Custom Controller",
       "cloud": false,
       "discovery": true,
       "discovery": true,
       "exposes":
       "items":
       [
       [
         ...
         ...
       ],
       ],
       "bindings":
       "options":
       {
       {
         ...
         ...
       },
       }
      "availabilityTopic": "myCustomDevice/isOnline",
      "availabilityPattern": "{{ online if value == true else offline }}"
     }
     }
   ]
   ]
Строка 54: Строка 54:
Включение/выключение устройства.
Включение/выключение устройства.


=== <code>id</code> ===
=== <code>type</code> ===
Уникальный идентификатор устройства.
Тип устройства. Возможные варианты:
* <code class="value>homedRelayController</code>
* <code class="value>homedSwitchController</code>
* <code class="value>customController</code>
 
=== <code>portId</code> ===
Номер порта к которому подключено устройство, в соответствии с [[Modbus/Configuration|конфигурацией]].
 
=== <code>slaveId</code> ===
Адрес устройства.
 
=== <code>baudRate</code> ===
Скорость обмена данными с устройством.
 
=== <code>pollInterval</code> ===
Период опроса устройства в миллисекундах.
 
=== <code>requestTimeout</code> ===
Время ожидания ответа от устройства в миллисекундах.
 
=== <code>replyTimeout</code> ===
Время ожидания окончания приема данных от устройства в миллисекундах.


=== <code>name</code> ===
=== <code>name</code> ===
Уникальное читаемое имя устройства.
Уникальное читаемое имя устройства.
=== <code>real</code> ===
Если значение этого поля установлено как <code class="value">false</code>, устройство будет считаться виртуальным и данные из топика <code class="value">homed/td/custom/...</code> будут автоматически дублироваться в топик <code class="value">homed/fd/custom/...</code>, в противном случае сервис будет ожидать данных от реального устройства или другого сервиса.


=== <code>cloud</code> ===
=== <code>cloud</code> ===
Строка 69: Строка 87:
Включение/выключение функуии [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery] для устройства.
Включение/выключение функуии [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery] для устройства.


=== <code>exposes</code> ===
=== <code>bindings</code> ===
Массив [[Common/Exposes|способностей]] устройства.
Объект с [[Modbus/Database/Items|картой регистров]] устройства. Актуально только для устройств типа <code class="value">"customController"</code>.


=== <code>options</code> ===
=== <code>options</code> ===
Объект с [[Common/Options|опциями]] устройства.
Объект с [[Common/Options|опциями]] устройства. Актуально только для устройств типа <code class="value">"customController"</code>.
 
=== <code>bindings</code> ===
Объект с [[Custom/Database/Bindings|биндингами]] устройства. Актуально только для устройств с включенным параметром <code>real</code>.
 
=== <code>availabilityTopic</code> ===
MQTT-топик для определения доступности устройства. Если этот параметр отсутствует, устройство всегда будет считаться доступным. Актуально только для устройств с включенным параметром <code>real</code>.
 
=== <code>availabilityPattern</code> ===
Шаблон для определения доступности устройства. Шаблон должен возвращать строку <code class="value">"online"</code> в случае, если устройство доступно, иначе устройство будет считаться недоступным. Подробнее о шаблонах можно почитать [[Custom/Database/Bindings#Шаблоны|здесь]]. Актуально только для устройств с включенным параметром <code>real</code>.
 


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

Текущая версия от 11:11, 24 марта 2025

HOMEd > Modbus > База данных

Файл базы данных

База данных это файл, в котором хранится описание устройств. По умолчанию это /opt/homed-modbus/database.json. Путь к файлу базы данных может быть изменен в конфигурации. Не обязательно редактировать базу данных автоматизаций вручную, намного проще настраивать устройства через веб-интерфейс.

Структура базы данных

База данных HOMEd Modbus это JSON-объект. Общая структура базы данных выглядит так:

{
  "devices":
  [
    {
      "active": true,
      "type": "homedRelayController",
      "portId": 1,
      "slaveId": 11,
      "baudRate": 115200,
      "pollInterval": 1000,
      "requestTimeout": 1000,
      "replyTimeout": 5,
      "name": "Relay Controller",
      "cloud": true,
      "discovery": false
    },
    {
      "active": true,
      "type": "customController",
      "portId": 2,
      "slaveId": 25,
      "baudRate": 9600,
      "pollInterval": 1000,
      "requestTimeout": 1000,
      "replyTimeout": 10,
      "name": "Custom Controller",
      "cloud": false,
      "discovery": true,
      "items":
      [
        ...
      ],
      "options":
      {
        ...
      }
    }
  ]
}

Параметры устройств

active

Включение/выключение устройства.

type

Тип устройства. Возможные варианты:

  • homedRelayController
  • homedSwitchController
  • customController

portId

Номер порта к которому подключено устройство, в соответствии с конфигурацией.

slaveId

Адрес устройства.

baudRate

Скорость обмена данными с устройством.

pollInterval

Период опроса устройства в миллисекундах.

requestTimeout

Время ожидания ответа от устройства в миллисекундах.

replyTimeout

Время ожидания окончания приема данных от устройства в миллисекундах.

name

Уникальное читаемое имя устройства.

cloud

Включение/выключение проброса устройств в Умный дом Яндкса при помощи HOMEd Cloud.

discovery

Включение/выключение функуии Home Assistant MQTT Discovery для устройства.

bindings

Объект с картой регистров устройства. Актуально только для устройств типа "customController".

options

Объект с опциями устройства. Актуально только для устройств типа "customController".