Перейти к содержанию

Понимание различий между Shelly Cloud Control API, Integrator API и Shelly Fleet Manager

Материал из База знаний Shelly



Shelly предоставляет широкий спектр API для своих устройств, обеспечивая гибкую интеграцию. Каждое устройство можно программировать индивидуально — как автономно без Shelly Cloud, так и через защищённый облачный API для удалённого управления. С помощью API можно выполнять команды управления (изменение настроек устройства недоступно) и получать события об изменениях состояния в реальном времени.

В данной статье на высоком уровне описаны различия между Shelly Cloud API, Integrator API и Shelly Fleet Manager (SFM).

Краткий глоссарий

  • WebSocket — протокол связи с постоянно открытым двусторонним каналом по одному TCP-соединению. В отличие от HTTP (запрос–ответ с закрытием соединения), WebSocket обеспечивает передачу данных в реальном времени.
  • Cloud Control API — защищённый API для управления устройствами одной учётной записи Shelly Cloud по HTTP или WebSocket.
  • Integrator API — API «облако–облако» для управления устройствами из нескольких учётных записей пользователей Shelly; предназначен для B2B и промышленных сценариев.
  • Shelly Fleet Manager (SFM) — SaaS-решение (или самоуправляемое ПО с открытым исходным кодом) для управления парком устройств Shelly независимо от Shelly Cloud.

Cloud Control API — управление устройствами одной учётной записи

Управление и состояние через HTTP

Параметр Значение
Управление Устройства одной учётной записи Shelly
Тип API HTTP
Назначение Небольшое количество устройств; DIY или PoC

Защищённый API для управления устройствами Shelly через облако. Позволяет выполнять команды и получать состояние устройств в рамках одной учётной записи. Связь осуществляется по HTTPS, данные передаются в формате JSON.

Ключ авторизации генерируется в приложении: Настройки пользователя → Ключ авторизации облака. Ключ аннулируется при смене пароля. Учётная запись привязана к конкретному серверу облачной инфраструктуры Shelly — хост может меняться по соображениям балансировки нагрузки.

Подробная документация: shelly-api-docs.shelly.cloud/cloud-control-api

Управление и события в реальном времени через WebSocket

Параметр Значение
Управление Устройства одной учётной записи Shelly
Тип API WebSocket
Назначение Небольшое количество устройств; DIY или PoC

API для обработки событий и команд устройств Shelly в рамках одной учётной записи. Аутентификация осуществляется через OAuth. Токен доступа является долгосрочным и аннулируется при смене пароля.

После установки WebSocket-соединения Shelly Cloud отправляет уведомления о состоянии устройств в реальном времени; в обратном направлении могут отправляться команды управления. Для каждой управляемой учётной записи требуются отдельные учётные данные OAuth. Для непрофессионального использования применяется идентификатор клиента shelly-diy — токены, полученные с ним, могут подпадать под ограничения частоты запросов.

Подробная документация: shelly-api-docs.shelly.cloud/cloud-control-api/real-time-events

Integrator API — управление устройствами нескольких учётных записей

Параметр Значение
Управление Устройства нескольких учётных записей Shelly
Тип API WebSocket
Назначение Большое количество устройств; B2B и промышленные сценарии

API «облако–облако» для интеграции, управления и сбора данных с устройств Shelly из множества пользовательских учётных записей. Поддерживает несколько параллельных WebSocket-соединений из одной точки обслуживания. Позволяет централизованно получать данные о состоянии устройств и осуществлять базовое управление ими.

Для работы необходимо создать учётную запись интегратора. Для её создания и получения лицензии обратитесь на support@shelly.cloud или заполните форму заявки. Лицензии для личного использования не предоставляются; Shelly вправе отклонять необоснованные запросы.

Согласие пользователя. Владельцы устройств должны войти в свою учётную запись Shelly Cloud и дать согласие на предоставление интегратору доступа к своим устройствам. Согласие предоставляется для каждого устройства отдельно (только чтение или чтение и управление) и может быть отозвано пользователем в любой момент.

Подробная документация: shelly-api-docs.shelly.cloud/integrator-api

Shelly Fleet Manager — управление парком устройств

Параметр Значение
Управление Устройства Shelly с учётными записями или без них
Тип API WebSocket
Назначение Промышленное применение

Shelly Fleet Manager (SFM) — централизованная платформа для мониторинга, управления и контроля парка устройств Shelly в нескольких локациях. Обеспечивает сбор данных в реальном времени, удалённое управление, автоматизацию и отчётность.

Устройства могут быть привязаны к учётным записям Shelly Cloud или нет — это делает SFM гибким решением. Добавление устройств возможно «из коробки» без предварительной настройки, в том числе оптом через приложение Shelly FMA.

SFM доступен как облачное SaaS-решение Shelly (fleet.shelly.com) или как самоуправляемое ПО с открытым исходным кодом, которое можно развернуть и доработать самостоятельно. Для управления устройствами через SFM учётная запись Shelly Cloud не требуется.

Shelly FMA (Shelly Fleet Manager Assistant) — мобильное приложение для массового подключения устройств к SFM. Сканирует новые устройства поблизости по Bluetooth и добавляет их к предварительно настроенному экземпляру SFM. Поддерживает передачу профилей конфигурации, включая настройки Wi-Fi и группировку устройств по физическому расположению.

Загрузка приложения: Google Play / App Store

Устройства подключаются к SFM через исходящий WebSocket. SFM работает только с устройствами Gen 2+. Подключение устройства к SFM не отключает его от Shelly Cloud — это независимые соединения.