м (→Шаблоны) |
м (→json) |
||
Строка 44: | Строка 44: | ||
=== <code>json</code> === | === <code>json</code> === | ||
Этот элемент шаблона применим к случаям, когда устройство публикует свое состояние в виде JSON-объекта, и позволяет получать из этого объекта необходимые параметры. Примеры использования | Этот элемент шаблона применим к случаям, когда устройство публикует свое состояние в виде JSON-объекта, и позволяет получать из этого объекта необходимые параметры. Примеры использования элемента приведены ниже. | ||
Получение параметра <code>pressure</code>: | |||
{{#tag:pre|<nowiki>{{ json.pressure }}</nowiki>}} | {{#tag:pre|<nowiki>{{ json.pressure }}</nowiki>}} | ||
Получение параметра из объекта, вложенного в массив: | |||
{{#tag:pre|<nowiki>{{ json.values[2].status }}</nowiki>}} | {{#tag:pre|<nowiki>{{ json.values[2].status }}</nowiki>}} | ||
[[Category:Custom]] | [[Category:Custom]] |
Версия от 10:43, 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-объекта, и позволяет получать из этого объекта необходимые параметры. Примеры использования элемента приведены ниже.
Получение параметра pressure
:
{{ json.pressure }}
Получение параметра из объекта, вложенного в массив:
{{ json.values[2].status }}