м (→Шаблоны) |
м (→Шаблоны) |
||
Строка 41: | Строка 41: | ||
== Шаблоны == | == Шаблоны == | ||
Шаблон может быть простой строкой, а так же может содержать части текста, обернутые двойными фигурными скобками <code><nowiki>{{ ... }}</nowiki></code>, которые будут автоматически заменяется на значение, зависящае от набора элементов шаблона. | |||
=== <code>json</code> === | === <code>json</code> === |
Версия от 10:36, 10 февраля 2025
Общие сведения
Биндинги позволяют связывать сторонние MQTT-топики и их данные с устройством HOMEd Custom. Биндинги описываются как JSON-обект, ключами которого являются имена связываемых свойств. Структура описания биндингов выглядит так:
{
...
"bindings":
{
"status":
{
"inTopic": "switch/status/topic",
"inPattern": "{{ on if json.switch is true else off }}",
"outTopic": "switch/command/topic",
"inPattern": "{\"switch\":{{ true if value is on else false }}}"
},
"temperature":
{
"inTopic": "temperature/status/topic",
"inPattern": "{{ json.temperature }}"
}
}
...
}
Параметры биндингов
inTopic
Топик, в который устройство публикует состояние описываемого свойства. Является обязательным в случае, если отсутствует параметр outTopic
.
inPattern
Шаблон для получения состояния описываемого свойства из топика inTopic
. В случае отсутствия этого параметра, данные будут использованы без изменений. Подробнее в разделе шаблоны.
outTopic
Топик, который необходимо опубликовать для изменения состояния описываемого свойства. Является обязательным в случае, если отсутствует параметр inTopic
.
outPattern
Шаблон для передечи состояния описываемого свойства в топик outTopic
. В случае отсутствия этого параметра данные будут опубликованы без изменений. Подробнее в разделе шаблоны.
Шаблоны
Шаблон может быть простой строкой, а так же может содержать части текста, обернутые двойными фигурными скобками {{ ... }}
, которые будут автоматически заменяется на значение, зависящае от набора элементов шаблона.
json
Этот элемент шаблона применим к случаям, когда устройство публикует свое состояние в виде JSON-объекта и позволяет получать из этого объекта необходимые параметры. Примеры использования:
{{ mqtt | test/json/topic | fieldName }}