Любое устройство — в любой экосистеме
Устройства подключаются к хабу по распространённым протоколам или через драйвер на .NET. Экосистема видит их все и работает с ними одинаково.
Как устроен умный дом?
С одной стороны — устройства: лампы, розетки, датчики. С другой стороны — экосистема: Алиса, Apple Home, Google Home. Приложение, голосовой помощник, сценарии — пульт от всего дома. Каждая экосистема общается с устройствами по собственному протоколу.
Пользователь выбирает не отдельные устройства, а связку целиком. Может оказаться, что нужное устройство не поддерживает его экосистему: подходящая лампа работает с Apple Home, а датчик протечки — только с Алисой. Чем больше устройств, тем выше вероятность, что связки «экосистема + устройства», закрывающей все потребности, не существует. Если нужного устройства не делает никто, пользователь собирает его сам — но ни одна экосистема такое устройство не поддерживает.
var lamp = host.Device("lamp-1");
await lamp.OnOff().TurnOnAsync();
await lamp.Brightness().SetAsync(50);
using var subscription = lamp
.OnChanged(change => Console.WriteLine(change.Value));