мНет описания правки |
м (→Общие сведения) |
||
Строка 3: | Строка 3: | ||
== Общие сведения == | == Общие сведения == | ||
Опции устройств это дополнительные настройки, позволяющие управлять поведением устройств и их [[Common/Exposes|возможностями]]. Примеры использования опуий в коде HOMEd можно посмотреть [https://github.com/search?q=user%3Au236+language%3AC%2B%2B+option%28+OR+options%28&type=code здесь]. | |||
== Опции возможностей (exposes) == | |||
Опции для большинства часто-используемых возможностей собраны воедино и хранятся в файле <code>/usr/share/homed-common/expose.json<code>, это нужно для того, чтобы не дублировать одни и те же опции для каждогого типового случая описания таких возможностей, как температура, влажность, напряжение и т.д. | |||
# опции для каждого expose это вложенный json-объект, имя которого должно полностью совпадать с именем expose: | |||
exposes: | |||
pressure, temperature, bla_1235_xfff_fuck | |||
options: | |||
{ | |||
"pressure": {"unit": "mmhg"}}, | |||
"bla_1235_xfff_fuck": {"type": "senosor", "other": "option"} | |||
} | |||
# опции для большинства часто-используемых expose собраны в кучу и хранятся в файле /usr/share/homed-common/expose.json (https://github.com/u236/homed-service-common/blob/master/deploy/data/usr/share/homed-common/expose.json), это нужно для того, чтобы не писать одни и те же опции для каждого градусника, датчики протечки и прочих типовых случаев | |||
# опции указанные в описании устройств имеют приоритет над опциями из файла expose.json, например, предположим, что у нас есть кастом-устройство с expose температуры и нам нужно заменить единицу измерения: | |||
исходное описание expose температуры: | |||
https://github.com/u236/homed-service-common/blob/12d4c31929a808c687df13b5bf9c8a01653612bc/deploy/data/usr/share/homed-common/expose.json#L51 | |||
exposes нашего устройства: | |||
temperature | |||
options нашего устройства: | |||
{"temperature": {"unit": "BLA"}} | |||
итоговое описание устройства, которое будет использовано в expose-топиках и discovery-топиках: | |||
{"type": "sensor", "class": "temperature", "state": "measurement", "unit": "BLA", "round": 1} | |||
#howto | |||
Версия от 09:04, 5 сентября 2024
Общие сведения
Опции устройств это дополнительные настройки, позволяющие управлять поведением устройств и их возможностями. Примеры использования опуий в коде HOMEd можно посмотреть здесь.
Опции возможностей (exposes)
Опции для большинства часто-используемых возможностей собраны воедино и хранятся в файле /usr/share/homed-common/expose.json
, это нужно для того, чтобы не дублировать одни и те же опции для каждогого типового случая описания таких возможностей, как температура, влажность, напряжение и т.д.
- опции для каждого expose это вложенный json-объект, имя которого должно полностью совпадать с именем expose:
exposes:
pressure, temperature, bla_1235_xfff_fuck
options:
{
"pressure": {"unit": "mmhg"}},
"bla_1235_xfff_fuck": {"type": "senosor", "other": "option"}
}
- опции для большинства часто-используемых expose собраны в кучу и хранятся в файле /usr/share/homed-common/expose.json (https://github.com/u236/homed-service-common/blob/master/deploy/data/usr/share/homed-common/expose.json), это нужно для того, чтобы не писать одни и те же опции для каждого градусника, датчики протечки и прочих типовых случаев
- опции указанные в описании устройств имеют приоритет над опциями из файла expose.json, например, предположим, что у нас есть кастом-устройство с expose температуры и нам нужно заменить единицу измерения:
исходное описание expose температуры:
https://github.com/u236/homed-service-common/blob/12d4c31929a808c687df13b5bf9c8a01653612bc/deploy/data/usr/share/homed-common/expose.json#L51
exposes нашего устройства:
temperature
options нашего устройства:
{"temperature": {"unit": "BLA"}}
итоговое описание устройства, которое будет использовано в expose-топиках и discovery-топиках:
{"type": "sensor", "class": "temperature", "state": "measurement", "unit": "BLA", "round": 1}
- howto