Common/Exposes: различия между версиями

Материал из HOMEd Wiki
 
(не показано 40 промежуточных версий этого же участника)
Строка 3: Строка 3:


== Общие сведения ==
== Общие сведения ==
После долгих дискуссий было решено, что <code class="value">способности</code> это максимально подходящее по смыслу слово русского языка, которое может заменить слово <code class="value">exposes</code> в контексте описания сервисов HOMEd и других систем умного дома.
После долгих дискуссий было решено, что <code class="value">"способности"</code> это максимально подходящее по смыслу слово русского языка, которое может заменить слово <code class="value">"exposes"</code> в контексте описания сервисов HOMEd и других систем умного дома.


Cпособности устройств это абстрактные сущности, на которых основана работа функции [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery], работа сервиса [[Cloud|HOMEd Cloud]], а так же работа [[Web|веб-интерфейса]]. Например, способность <code class="value">"temperature"</code> указывает на наличие датчика темературы, а <code class="value">"light"</code> описывает осветительный прибор.
Cпособности устройств это абстрактные сущности, на которых основана работа функции [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery], работа сервиса [[Cloud|HOMEd Cloud]], а так же работа [[Web|веб-интерфейса]]. Например, способность <code class="value">"temperature"</code> указывает на наличие датчика темературы, а <code class="value">"light"</code> описывает осветительный прибор.
Строка 16: Строка 16:
* Триггер (button)
* Триггер (button)


Категоря способности, как и прочие параметры, настраивается при помощи [[Common/Options|опций]].
Категория типовой способности, как и прочие параметры, настраивается при помощи [[Common/Options|опций]].


=== Бинарный сенсорор ===
=== Бинарный сенсор ===
Данная способность описывает сенсоры, имеющие всего два состояния, такие, как датчик протечки воды или датчик движения. Данная способность не предполагает возможности установки значения.
Данная способность описывает сенсоры, имеющие всего два состояния (активен/не активен), например, датчик протечки воды или датчик движения. Данная способность ''не предполагает'' возможности установки значения.


Обязательные опции:<br>
Пример описания:
<code>"type"</code> - категория способности, всегда <code class="value">"binary"</code>
<syntaxhighlight lang="json">
{
  "type": "binary"
}
</syntaxhighlight>


=== Сенсор ===
=== Сенсор ===
Данная способность описывает любые сенсоры, такие, как датчик температуры или силы тока. Показания сенсора могут быть как числовыми, так и строковыми. Данная способность ''не предполагает'' возможности установки значения.
Пример описания:
<syntaxhighlight lang="json">
{
  "type": "sensor",
  "unit": "°C"
}
</syntaxhighlight>
Дополнительные опции:<br>
<code>"round"</code> - округление числового значения (количество знаков после запятой)<br>
<code>"unit"</code> - единица измерения


=== Переключатель ===
=== Переключатель ===
Данная способность описывает органы управления или настройки устройства, имеющие два состояния (включено/выключено). Данная способность ''предполагает'' возможность установки значения.
Пример описания:
<syntaxhighlight lang="json">
{
  "type": "toggle"
}
</syntaxhighlight>


=== Диапазон ===
=== Диапазон ===
Данная способность описывает органы управления или настройки устройства, имеющие числовой дипазон значений. Данная способность ''предполагает'' возможность установки значения.
Пример описания:
<syntaxhighlight lang="json">
{
  "type": "number",
  "min": 0,
  "max": 100,
  "unit": "%"
}
</syntaxhighlight>
Обязательные опции:<br>
<code>"min"</code> - минимальное возможное значение<br>
<code>"max"</code> - максимальное возможное значение
Дополнительные опции:<br>
<code>"unit"</code> - единица измерения<br>
<code>"step"</code> - минимальный шаг изменения значения


=== Селектор ===
=== Селектор ===
Данная способность описывает органы управления или настройки устройства, имеющие несколько строковых значений. Данная способность ''предполагает'' возможность установки значения.
Пример описания:
<syntaxhighlight lang="json">
{
  "type": "select",
  "enum": ["toggle", "momentary", "multifunction"]
}
</syntaxhighlight>
Или:
<syntaxhighlight lang="json">
{
  "type": "select",
  "enum": {"0": "off", "1": "on", "2": "toggle", "255": "previous"}
}
</syntaxhighlight>
Обязательные опции:<br>
<code>"enum"</code> - массив или объект со значениями (в случае использования массива, в качестве передаваемого устройству значения будет использован индекс элемента в массиве, а в случае использования объкета - ключ элемента)


=== Триггер ===
=== Триггер ===
Данная способность описывает сущность, необходимую для вызова какого-либо действия со стороны устройства, например для запуска калибровки или сброса настроек. С точки зрения пользовательского интерфейса это просто кнопка.


=== Общие опции ===
Пример описания:
<syntaxhighlight lang="json">
{
  "type": "button"
}
</syntaxhighlight>
 
=== Опции Home Assistant ===
Следующие опции способностей используются для функции [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery]:<br>
<code>"icon"</code> - иконка из набора [https://pictogrammers.com/library/mdi/ Material Design Icons], применимо ко всем типовым способностям<br>
<code>"class"</code> - класс устройства, применимо к способностям <code class="value">"binary"</code> и <code class="value">"sensor"</code><br>
<code>"state"</code> - выбор способа ведения статистики, возможные значения - <code class="value">"measurement"</code> или <code class="value">"total_increasing"</code>, применимо к способности <code class="value">"sensor"</code>


== Специальные способности ==
== Специальные способности ==
Специальные способности устройств делятся на 5 основных категорий:
* Осветительный прибор (light)
* Выключатель (switch)
* Штора (cover)
* Замок (lock)
* Термостат (thermostat)
Эти способности отличаются от типовых тем, что имеют свои уникальные наборы опций. {{ Later }}


[[Category:Common]]
[[Category:Common]]
[[Category:Custom]]
[[Category:Custom]]
[[Category:ZigBee]]
[[Category:ZigBee]]

Текущая версия от 13:22, 5 сентября 2024

HOMEd > Cпособности устройств

Общие сведения

После долгих дискуссий было решено, что "способности" это максимально подходящее по смыслу слово русского языка, которое может заменить слово "exposes" в контексте описания сервисов HOMEd и других систем умного дома.

Cпособности устройств это абстрактные сущности, на которых основана работа функции Home Assistant MQTT Discovery, работа сервиса HOMEd Cloud, а так же работа веб-интерфейса. Например, способность "temperature" указывает на наличие датчика темературы, а "light" описывает осветительный прибор.

Типовые способности

Типовые способности устройств делятся на 6 основных категорий:

  • Бинарный сенсорор (binary)
  • Сенсор (sensor)
  • Переключатель (toggle)
  • Диапазон (number)
  • Селектор (select)
  • Триггер (button)

Категория типовой способности, как и прочие параметры, настраивается при помощи опций.

Бинарный сенсор

Данная способность описывает сенсоры, имеющие всего два состояния (активен/не активен), например, датчик протечки воды или датчик движения. Данная способность не предполагает возможности установки значения.

Пример описания:

{
  "type": "binary"
}

Сенсор

Данная способность описывает любые сенсоры, такие, как датчик температуры или силы тока. Показания сенсора могут быть как числовыми, так и строковыми. Данная способность не предполагает возможности установки значения.

Пример описания:

{
  "type": "sensor",
  "unit": "°C"
}

Дополнительные опции:
"round" - округление числового значения (количество знаков после запятой)
"unit" - единица измерения

Переключатель

Данная способность описывает органы управления или настройки устройства, имеющие два состояния (включено/выключено). Данная способность предполагает возможность установки значения.

Пример описания:

{
  "type": "toggle"
}

Диапазон

Данная способность описывает органы управления или настройки устройства, имеющие числовой дипазон значений. Данная способность предполагает возможность установки значения.

Пример описания:

{
  "type": "number",
  "min": 0,
  "max": 100,
  "unit": "%"
}

Обязательные опции:
"min" - минимальное возможное значение
"max" - максимальное возможное значение

Дополнительные опции:
"unit" - единица измерения
"step" - минимальный шаг изменения значения

Селектор

Данная способность описывает органы управления или настройки устройства, имеющие несколько строковых значений. Данная способность предполагает возможность установки значения.

Пример описания:

{
  "type": "select",
  "enum": ["toggle", "momentary", "multifunction"]
}

Или:

{
  "type": "select",
  "enum": {"0": "off", "1": "on", "2": "toggle", "255": "previous"}
}

Обязательные опции:
"enum" - массив или объект со значениями (в случае использования массива, в качестве передаваемого устройству значения будет использован индекс элемента в массиве, а в случае использования объкета - ключ элемента)

Триггер

Данная способность описывает сущность, необходимую для вызова какого-либо действия со стороны устройства, например для запуска калибровки или сброса настроек. С точки зрения пользовательского интерфейса это просто кнопка.

Пример описания:

{
  "type": "button"
}

Опции Home Assistant

Следующие опции способностей используются для функции Home Assistant MQTT Discovery:
"icon" - иконка из набора Material Design Icons, применимо ко всем типовым способностям
"class" - класс устройства, применимо к способностям "binary" и "sensor"
"state" - выбор способа ведения статистики, возможные значения - "measurement" или "total_increasing", применимо к способности "sensor"

Специальные способности

Специальные способности устройств делятся на 5 основных категорий:

  • Осветительный прибор (light)
  • Выключатель (switch)
  • Штора (cover)
  • Замок (lock)
  • Термостат (thermostat)

Эти способности отличаются от типовых тем, что имеют свои уникальные наборы опций. Описание добавлю позже.