(Новая страница: «{{DISPLAYTITLE:Опции устройств}} {{Breadcrumbs|Опции устройств}} == Файл базы данных == Category:Common Category:Custom Category:ZigBee») |
|||
(не показаны 22 промежуточные версии этого же участника) | |||
Строка 2: | Строка 2: | ||
{{Breadcrumbs|Опции устройств}} | {{Breadcrumbs|Опции устройств}} | ||
== | == Общие сведения == | ||
Опции устройств это дополнительные настройки, позволяющие управлять поведением устройств и их [[Common/Exposes|способностями]]. Примеры использования различных опций в коде HOMEd можно посмотреть [https://github.com/search?q=user%3Au236+language%3AC%2B%2B+option%28+OR+options%28&type=code здесь]. | |||
== Опции способностей (exposes) == | |||
Опции для большинства часто используемых [[Common/Exposes|способностей]] описаны в файле <code>/usr/share/homed-common/expose.json</code>. Это сделано для того, чтобы не дублировать одни и те же опции для каждого типового случая описания таких способностей, как температура, влажность, напряжение, сила тока и так далее. Актуальная версия файла всегда доступна на [https://github.com/u236/homed-service-common/blob/master/deploy/data/usr/share/homed-common/expose.json GitHub]. | |||
Опции указанные непосредственно в описании устройств имеют приоритет над опциями из файла <code>expose.json</code> и позволяют переопределять необходимые параметры, например, единицы измерения. | |||
Набор опций для каждой способности это вложенный JSON-объект, имя которого должно ''полностью'' совпадать с именем способности, например: | |||
<syntaxhighlight lang="json"> | |||
{ | |||
... | |||
"exposes": ["pressure", "temperature", "myCustomExpose"], | |||
"options": | |||
{ | |||
"pressure": {"unit": "mmHg"}, | |||
"myCustomExpose": {"type": "sensor", "other": "option"} | |||
} | |||
... | |||
} | |||
</syntaxhighlight> | |||
Приведенный выше пример демонстрирует способ переопределения опции <code>unit</code> для способности <code>pressure</code>. Исходные опции: | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"type": "sensor", | |||
"class": "pressure", | |||
"state": "measurement", | |||
"unit": "kPa", | |||
"round": 1 | |||
} | |||
</syntaxhighlight> | |||
Итоговое описание способности: | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"type": "sensor", | |||
"class": "pressure", | |||
"state": "measurement", | |||
"unit": "mmHg", | |||
"round": 1 | |||
} | |||
</syntaxhighlight> | |||
[[Category:Common]] | [[Category:Common]] | ||
[[Category:Custom]] | [[Category:Custom]] | ||
[[Category:ZigBee]] | [[Category:ZigBee]] |
Текущая версия от 12:31, 5 сентября 2024
Общие сведения
Опции устройств это дополнительные настройки, позволяющие управлять поведением устройств и их способностями. Примеры использования различных опций в коде 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
}