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

Материал из HOMEd Wiki
 
(не показано 9 промежуточных версий этого же участника)
Строка 41: Строка 41:
       {
       {
         ...
         ...
       }
       },
      "availabilityTopic": "myCustomDevice/isOnline",
      "availabilityPattern": "{{ online if value == true else offline }}"
     }
     }
   ]
   ]
Строка 59: Строка 61:


=== <code>real</code> ===
=== <code>real</code> ===
Если значение этого поля установлено как <code class="value">false</code>, устройство будет считаться виртуальным и данные из топика <code class="value">homed/td/custom/...</code> будут автоматически дублироваться в топик <code class="value">homed/fd/custom/...</code>, в противном случае сервис будет ожидать данных от реального устройства или другого сервиса. Подробнее о топиках можно почитать [[Custom/Topics|здесь]].
Если значение этого поля установлено как <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> ===
Строка 74: Строка 76:


=== <code>bindings</code> ===
=== <code>bindings</code> ===
Объект с [[Custom/Database/Bindings|биндингами]] устройства.
Объект с [[Custom/Database/Bindings|биндингами]] устройства. Актуально только для устройств с включенным параметром <code>real</code>.


=== <code>availabilityTopic</code> ===
=== <code>availabilityTopic</code> ===
Топик для определения доступности устройства. Если этот параметр отсутствует, устройство всегда будет считаться доступным.
MQTT-топик для определения доступности устройства. Если этот параметр отсутствует, устройство всегда будет считаться доступным. Актуально только для устройств с включенным параметром <code>real</code>.


=== <code>availabilityTopic</code> ===
=== <code>availabilityPattern</code> ===
Шаблон для определения доступности устройства. Шаблон должен возвращать строку <code class="value">"online"</code> в случае, если устройство доступно, иначе устройство будет считаться недоступным. Подробнее о шаблонах [[Custom/Database/Bindings#Шаблоны|здесь]].
Шаблон для определения доступности устройства. Шаблон должен возвращать строку <code class="value">"online"</code> в случае, если устройство доступно, иначе устройство будет считаться недоступным. Подробнее о шаблонах можно почитать [[Custom/Database/Bindings#Шаблоны|здесь]]. Актуально только для устройств с включенным параметром <code>real</code>.




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

Текущая версия от 20:43, 17 февраля 2025

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

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

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

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

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

{
  "devices":
  [
    {
      "active": true,
      "id": "myCustomDevice1",
      "name": "My Custom Device",
      "real": false,
      "cloud": true,
      "discovery": true,
      "exposes":
      [
        ...
      ],
      "options":
      {
        ...
      }
    },
    {
      "active": true,
      "id": "myCustomDevice2",
      "name": "Other Custom Device",
      "real": true,
      "cloud": true,
      "discovery": true,
      "exposes":
      [
        ...
      ],
      "bindings":
      {
        ...
      },
      "availabilityTopic": "myCustomDevice/isOnline",
      "availabilityPattern": "{{ online if value == true else offline }}"
    }
  ]
}

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

active

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

id

Уникальный идентификатор устройства.

name

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

real

Если значение этого поля установлено как false, устройство будет считаться виртуальным и данные из топика homed/td/custom/... будут автоматически дублироваться в топик homed/fd/custom/..., в противном случае сервис будет ожидать данных от реального устройства или другого сервиса.

cloud

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

discovery

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

exposes

Массив способностей устройства.

options

Объект с опциями устройства.

bindings

Объект с биндингами устройства. Актуально только для устройств с включенным параметром real.

availabilityTopic

MQTT-топик для определения доступности устройства. Если этот параметр отсутствует, устройство всегда будет считаться доступным. Актуально только для устройств с включенным параметром real.

availabilityPattern

Шаблон для определения доступности устройства. Шаблон должен возвращать строку "online" в случае, если устройство доступно, иначе устройство будет считаться недоступным. Подробнее о шаблонах можно почитать здесь. Актуально только для устройств с включенным параметром real.