(не показано 35 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Custom: База данных}} | {{DISPLAYTITLE:Custom: База данных}} | ||
{{Breadcrumbs|[[Custom]] > База данных}} | {{Breadcrumbs|[[Custom]] > База данных}} | ||
Строка 14: | Строка 13: | ||
{ | { | ||
"active": true, | "active": true, | ||
"id": "myCustomDevice1", | |||
"name": "My Custom Device", | |||
"real": false, | |||
"cloud": true, | "cloud": true, | ||
"discovery": true, | "discovery": true, | ||
Строка 23: | Строка 25: | ||
{ | { | ||
... | ... | ||
} | } | ||
}, | }, | ||
{ | { | ||
"active": true, | "active": true, | ||
"id": "myCustomDevice2", | |||
"name": "Other Custom Device", | |||
"real": true, | |||
"cloud": true, | "cloud": true, | ||
"discovery": true, | "discovery": true, | ||
Строка 36: | Строка 38: | ||
... | ... | ||
], | ], | ||
" | "bindings": | ||
" | { | ||
" | ... | ||
}, | |||
"availabilityTopic": "myCustomDevice/isOnline", | |||
"availabilityPattern": "{{ online if value == true else offline }}" | |||
} | } | ||
] | ] | ||
Строка 44: | Строка 49: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Параметры | == Параметры устройств == | ||
=== <code>active</code> === | === <code>active</code> === | ||
Включение/выключение | Включение/выключение устройства. | ||
=== <code>id</code> === | |||
Уникальный идентификатор устройства. | |||
=== <code>name</code> === | === <code>name</code> === | ||
Уникальное читаемое имя устройства. | |||
=== <code> | === <code>real</code> === | ||
Если значение этого поля установлено как <code class="value">false</code>, устройство будет считаться виртуальным и данные из топика <code class="value">homed/td/custom/...</code> будут автоматически дублироваться в топик <code class="value">homed/fd/custom/...</code>, в противном случае сервис будет ожидать данных от реального устройства или другого сервиса. | |||
=== <code> | === <code>cloud</code> === | ||
Включение/выключение проброса устройств в [https://alice.yandex.ru/smart-home Умный дом Яндкса] при помощи [[Cloud|HOMEd Cloud]]. | |||
=== <code> | === <code>discovery</code> === | ||
Включение/выключение функуии [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery] для устройства. | |||
=== <code> | === <code>exposes</code> === | ||
Массив [[ | Массив [[Common/Exposes|способностей]] устройства. | ||
=== <code> | === <code>options</code> === | ||
Объект с [[Common/Options|опциями]] устройства. | |||
== | === <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:Custom]] |
Текущая версия от 20:43, 17 февраля 2025
Файл базы данных
База данных это файл, в котором хранится описание устройств. По умолчанию это /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
.