Skip to content

ThinkingHome.Alice

ThinkingHome.Alice.Model.Capabilities Namespace

Classes
CapabilityActionParams<TParams>Параметры способности в action-запросе с целевым состоянием конкретного вида.
CapabilityActionParamsBaseБазовый класс параметров способности в action-запросе; конкретный тип выбирается по дискриминатору "type" (devices.capabilities.*).
CapabilityActionResult<TInstance>Результат операции над способностью с инстансом конкретного вида.
CapabilityActionResultBaseБазовый класс результата операции над способностью в ответе на action; конкретный тип выбирается по дискриминатору "type" (devices.capabilities.*).
CapabilityInfo<TParams>Описание способности с параметрами конкретного вида.
CapabilityInfoBaseБазовое описание способности в discovery; конкретный тип выбирается по дискриминатору "type" (devices.capabilities.*).
CapabilityState<TParams>Состояние способности с данными конкретного вида.
CapabilityStateActionResult<T>Результат операции в ответе на action: инстанс способности и итог выполнения команды.
CapabilityStateBaseБазовое состояние способности (query/callback); конкретный тип выбирается по дискриминатору "type" (devices.capabilities.*).
CapabilityTypeСтроковые идентификаторы типов способностей Алисы (devices.capabilities.*) — значения дискриминатора "type".
ColorModelsЦветовые модели Алисы (поле "color_model" в color_setting). У Алисы их две — "rgb" и "hsv", но это взаимозаменяемые представления одного цвета: устройство объявляет одну. Берём "rgb" (значение — одно число 0xRRGGBB). "hsv" намеренно не реализован: функционально эквивалентен rgb, но его значение — объект {h,s,v}, что потребовало бы отдельной формы состояния без пользы для управления.
UnitsЕдиницы измерения Алисы (поле "unit" у range/float). Единицу выбирает конкретная способность: яркость всегда в процентах. По мере добавления инстансов (температура, громкость) сюда добавляются новые константы, а нужную подставляет соответствующая ветка маппера.

Опубликовано под лицензией MIT