мНет описания правки |
мНет описания правки |
||
Строка 25: | Строка 25: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Приведенный выше пример показывает вариант переопределение опций из файла <code>expose.json</code> для возможности <code>pressure</code>. | Приведенный выше пример показывает вариант переопределение опций из файла <code>expose.json</code> для возможности <code>pressure</code>. Исходные опции: | ||
Исходные опции: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Строка 48: | Строка 46: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Common]] | [[Category:Common]] | ||
[[Category:Custom]] | [[Category:Custom]] | ||
[[Category:ZigBee]] | [[Category:ZigBee]] |
Версия от 09:20, 5 сентября 2024
Общие сведения
Опции устройств это дополнительные настройки, позволяющие управлять поведением устройств и их возможностями. Примеры использования опуий в коде HOMEd можно посмотреть здесь.
Опции возможностей (exposes)
Опции для большинства часто-используемых возможностей описаны в файле /usr/share/homed-common/expose.json
. Это сделано для того, чтобы не дублировать одни и те же опции для каждогого типового случая описания таких возможностей, как температура, влажность, напряжение и так далее.
Опции указанные непосредственно в описании устройств имеют приоритет над опциями из файла expose.json
и позволяют переопределять необходимые параметры, например, единицы измерения.
Опции для каждой возможности это вложенный JSON-объект, имя которого должно полностью совпадать с именем возможности (expose), например:
{
...
"exposes": ["pressure", "temperature", "myCustomExpose"],
"options":
{
"pressure": {"unit": "mmHg"},
"myCustomExpose": {"type": "sensor", "other": "option"}
}
...
}
Приведенный выше пример показывает вариант переопределение опций из файла expose.json
для возможности pressure
. Исходные опции:
{
"type": "sensor",
"class": "pressure",
"state": "measurement",
"unit": "kPa",
"round": 1
}
Итоговое описание возможности:
{
"type": "sensor",
"class": "pressure",
"state": "measurement",
"unit": "mmHg",
"round": 1
}