Общие сведения
Биндинги позволяют связывать сторонние 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 }}