Общие сведения
Опции устройств это дополнительные настройки, позволяющие управлять поведением устройств и их способностями. Примеры использования различных опций в коде HOMEd можно посмотреть здесь.
Опции способностей (exposes)
Опции для большинства часто используемых способностей описаны в файле /usr/share/homed-common/expose.json
. Это сделано для того, чтобы не дублировать одни и те же опции для каждого типового случая описания таких способностей, как температура, влажность, напряжение, сила тока и так далее. Актуальная версия файла всегда доступна на GitHub.
Опции указанные непосредственно в описании устройств имеют приоритет над опциями из файла expose.json
и позволяют переопределять необходимые параметры, например, единицы измерения.
Набор опций для каждой способности это вложенный JSON-объект, имя которого должно полностью совпадать с именем способности, например:
{
...
"exposes": ["pressure", "temperature", "myCustomExpose"],
"options":
{
"pressure": {"unit": "mmHg"},
"myCustomExpose": {"type": "sensor", "other": "option"}
}
...
}
Приведенный выше пример демонстрирует способ переопределения опции unit
для способности pressure
. Исходные опции:
{
"type": "sensor",
"class": "pressure",
"state": "measurement",
"unit": "kPa",
"round": 1
}
Итоговое описание способности:
{
"type": "sensor",
"class": "pressure",
"state": "measurement",
"unit": "mmHg",
"round": 1
}