Skip to content

ThinkingHome.DeviceModel.Drivers.Stubs

ThinkingHome.DeviceModel.Drivers.Stubs

StubWaterius Class

Заглушка Waterius — двухканального счётчика воды (только чтение). Составное устройство: два одинаковых прибора учёта на двух endpoint'ах. Назначение каналов (холодная/горячая) — монтажная семантика, появится в метаданных endpoint'а.

csharp
public sealed class StubWaterius : ThinkingHome.DeviceModel.IDevice

Inheritance System.Object → StubWaterius

Implements IDevice

Constructors

StubWaterius(string, StubDeviceConfig) Constructor

Заглушка Waterius — двухканального счётчика воды (только чтение). Составное устройство: два одинаковых прибора учёта на двух endpoint'ах. Назначение каналов (холодная/горячая) — монтажная семантика, появится в метаданных endpoint'а.

csharp
public StubWaterius(string id, ThinkingHome.DeviceModel.Drivers.Stubs.StubDeviceConfig config);

Parameters

id System.String

config StubDeviceConfig

Properties

StubWaterius.Id Property

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

csharp
public string Id { get; }

Implements Id

Property Value

System.String

Methods

StubWaterius.Describe() Method

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

csharp
public ThinkingHome.DeviceModel.DeviceDescriptor Describe();

Implements Describe()

Returns

DeviceDescriptor

StubWaterius.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>

StubWaterius.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

StubWaterius.Changed Event

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

csharp
public event Action<StateChange>? Changed;

Implements Changed

Event Type

System.Action<StateChange>

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