Skip to content

ThinkingHome.DeviceModel.Drivers.Stubs

ThinkingHome.DeviceModel.Drivers.Stubs

StubOnOffDevice Class

Временная заглушка On/Off-устройства (лампа/розетка/выключатель) с состоянием в памяти. Способность одна — OnOff, различается только DeviceType. Реальные драйверы придут позже; нужна, чтобы поднять домашний хост и проверить сквозной путь до Алисы.

csharp
public sealed class StubOnOffDevice : ThinkingHome.DeviceModel.IDevice

Inheritance System.Object → StubOnOffDevice

Implements IDevice

Constructors

StubOnOffDevice(string, StubOnOffDeviceConfig) Constructor

Временная заглушка On/Off-устройства (лампа/розетка/выключатель) с состоянием в памяти. Способность одна — OnOff, различается только DeviceType. Реальные драйверы придут позже; нужна, чтобы поднять домашний хост и проверить сквозной путь до Алисы.

csharp
public StubOnOffDevice(string id, ThinkingHome.DeviceModel.Drivers.Stubs.StubOnOffDeviceConfig config);

Parameters

id System.String

config StubOnOffDeviceConfig

Properties

StubOnOffDevice.Id Property

Стабильный идентификатор устройства.

csharp
public string Id { get; }

Implements Id

Property Value

System.String

Methods

StubOnOffDevice.Describe() Method

Описание устройства (discovery).

csharp
public ThinkingHome.DeviceModel.DeviceDescriptor Describe();

Implements Describe()

Returns

DeviceDescriptor

StubOnOffDevice.ExecuteAsync(DeviceCommand, CancellationToken) Method

Исполнить команду (execute). Незнакомую команду вернуть как Unsupported.

csharp
public System.Threading.Tasks.Task<ThinkingHome.DeviceModel.CommandOutcome> ExecuteAsync(ThinkingHome.DeviceModel.Commands.DeviceCommand command, System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));

Parameters

command DeviceCommand

ct System.Threading.CancellationToken

Implements ExecuteAsync(DeviceCommand, CancellationToken)

Returns

System.Threading.Tasks.Task<CommandOutcome>

StubOnOffDevice.QueryAsync(CancellationToken) Method

Опросить текущее состояние (query).

csharp
public System.Threading.Tasks.Task<ThinkingHome.DeviceModel.State.DeviceSnapshot> QueryAsync(System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));

Parameters

ct System.Threading.CancellationToken

Implements QueryAsync(CancellationToken)

Returns

System.Threading.Tasks.Task<DeviceSnapshot>

Events

StubOnOffDevice.Changed Event

Изменение состояния (report/push).

csharp
public event Action<StateChange>? Changed;

Implements Changed

Event Type

System.Action<StateChange>

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