ThinkingHome.DeviceModel
ThinkingHome.DeviceModel
IDeviceHost Interface
Потребитель-грань хоста — публичный .NET API слоя устройств. Его вызывают адаптеры экосистем (Алиса, Matter, HomeKit) и код ThinkingHome. Экосистемные адаптеры не лезут в реестр напрямую.
public interface IDeviceHostDerived
↳ DeviceHost
Methods
IDeviceHost.ExecuteAsync(string, DeviceCommand, CancellationToken) Method
Исполнить команду над устройством (execute).
System.Threading.Tasks.Task<ThinkingHome.DeviceModel.CommandOutcome> ExecuteAsync(string deviceId, ThinkingHome.DeviceModel.Commands.DeviceCommand command, System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));Parameters
deviceId System.String
command DeviceCommand
ct System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task<CommandOutcome>
IDeviceHost.GetDeviceAsync(string, CancellationToken) Method
Описание одного устройства или null, если его нет.
System.Threading.Tasks.Task<ThinkingHome.DeviceModel.DeviceDescriptor?> GetDeviceAsync(string deviceId, System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));Parameters
deviceId System.String
ct System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task<DeviceDescriptor>
IDeviceHost.GetDevicesAsync(CancellationToken) Method
Все зарегистрированные устройства (discovery). Async — может уходить по сети (remote host).
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<ThinkingHome.DeviceModel.DeviceDescriptor>> GetDevicesAsync(System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));Parameters
ct System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<DeviceDescriptor>>
IDeviceHost.QueryAsync(string, CancellationToken) Method
Опросить состояние устройства (query).
System.Threading.Tasks.Task<ThinkingHome.DeviceModel.State.DeviceSnapshot> QueryAsync(string deviceId, System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));Parameters
deviceId System.String
ct System.Threading.CancellationToken
Returns
System.Threading.Tasks.Task<DeviceSnapshot>
Events
IDeviceHost.Changed Event
Агрегированный поток изменений состояния всех устройств (report).
event Action<StateChange> Changed;