Карта пакетов
Библиотеки
Части хаба поставляются отдельными пакетами NuGet — подключают только те, что нужны для конкретной задачи.
| Пакет | Что внутри | Когда нужен |
|---|---|---|
ThinkingHome.DeviceModel | Ядро: модель устройств и хост | Всегда — с него начинается любой сценарий |
ThinkingHome.DeviceModel.FluentApi | API: типизированные хендлы устройств для кода | Когда устройствами управляют локальные скрипты |
ThinkingHome.DeviceModel.Remoting.ProxyClient | Сторона дома: подключение к прокси и привязка по одноразовому коду | Когда дом соединяется с облачным прокси |
ThinkingHome.DeviceModel.Remoting.ProxyServer | Сторона прокси: приём соединений и маршрутизация запросов по домам | Когда прокси собирают собственным приложением |
ThinkingHome.Alice | Адаптер Яндекс Алисы: перевод модели в её формат и обратно | Когда дом подключают к Алисе |
ThinkingHome.DeviceModel.Drivers.Stubs | Стабовые драйверы: виртуальные лампы, датчики, счётчики | Чтобы посмотреть работу хаба без физических приборов |
Драйверы устройств живут в отдельных пакетах — по одному на протокол. Их подключают так же: нужен MQTT — берут пакет с драйвером MQTT.
Приложения
Кроме библиотек есть два готовых приложения — их не подключают к проекту, а разворачивают.
| Приложение | Что это | Когда нужно |
|---|---|---|
ThinkingHome.DeviceModel.Proxy | Прокси, готовый к развёртыванию: принимает соединения от домов и обслуживает запросы Алисы | Когда прокси не хочется собирать самому |
ThinkingHome.DeviceModel.Hub | Домашний хаб, готовый к запуску: устройства и коннекторы описываются в конфигурации | Когда дом собирают настройками, без программирования |