Роль точек данных
Каждый объект типаstate обладает характерной чертойcommon.role В описании не указано, какое именно значение оно имеет, но показано, что оно обозначает : переключатель, температура, уровень яркости или сообщение.
Одно значение может быть неоднозначным.true Это может означать, что свет включен, окно открыто или устройство доступно. Именно эта роль преобразует эту информацию в то, что может обработать пользовательский интерфейс или голосовой помощник.
В чём смысл всего этого?
Затем визуализации выбирают свой управляющий элемент.switch получает переключатель, аlevel.dimmer ползунок,value.temperature Дисплей с градусными символами. При отсутствии подходящей роли отображается пустое поле ввода.
Голосовые помощники распознают устройство по его возможностям. Alexa может приглушить свет лампы только в том случае, если точка данных имеет соответствующую роль.level.dimmer несет.
Система распознавания устройств собирает информацию об устройстве на основе нескольких точек данных. RGB-лампа состоит из трех взаимосвязанных значений:
switchдля входа и выходаlevel.color.rgbс цветовой кодировкойlevel.brightnessс яркостью
Только эти три ролика в одном канале превращают три цифры в лампочку. Какие ролики необходимы для данного типа устройства, а какие являются необязательными, указывается в детекторе типов .
Тип и роль в совокупности определяют, что делает поверхность состоянием.
Как структурируется роль
Должности разделены на уровни и обозначаются точками, от общих к конкретным:
switch
switch.power
level
level.color.temperature
value.temperature
Первый уровень обозначает тип значения. Все последующие уровни описывают его более подробно.
| Первый этап | Означает |
|---|---|
state | Неизвестно. Используется, когда ничего более конкретного не подходит. |
sensor | Значение «да/нет», которое только считывается. Окно открыто, обнаружено движение. |
indicator | Значение «да/нет» для обозначения состояния устройства: низкий заряд батареи, недоступно. Отображается в виде небольшого значка. |
value | Число, которое только считывается. Температура, потребление, влажность. |
level | Также можно задать числовое значение. Яркость, целевая температура, положение рольставни. |
switch | Также можно задать значение «да/нет». |
button | Это просто текст, не представляющий никакой значимой ценности для чтения. |
text ,html ,json ,list ,date | Значения, которые не управляют устройством, но что-то представляют. |
Всегда используйте наиболее подходящий по размеру рулон.level.color.temperature говорит больше, чемlevel , иswitch.power больше, чемswitch В рамках одного канала одна и та же роль может встречаться только один раз; в противном случае система распознавания устройств не сможет определить, какое из двух значений имеется в виду.
Где вы видите и меняете роль
В панели администратора, на вкладке «Объекты» , роль отображается в отдельном столбце. Ее можно изменить с помощью значка карандаша, а в экспертном режиме — также непосредственно в самом объекте.
Изменение роли точки данных, созданной самим адаптером, обычно не влечет за собой долговременных изменений: адаптер записывает её обратно при следующем запуске. Если роль навсегда изменена, это отображается в сообщении об ошибке для адаптера. Для ваших собственных нужд лучше использовать псевдоним , поскольку роль можно установить свободно, не изменяя адаптер.
Полный список
Все роли, включая их типы данных, обязательные поля и устаревшие обозначения, перечислены в разделе «Роли состояния» в главе «Разработка адаптера». Этот список является авторитетным; он поддерживается вместе с детектором типов.