Kbuca 了解 Shelly 之间的差异

了解 Shelly Cloud Control API、Integrator API 和 Shelly Fleet Manager 之间的区别

API.png

Shelly 为其设备提供了多种 API,支持灵活集成。每台设备都可以单独编程,既可作为独立单元运行(无需 Shelly Cloud),也可通过安全的云 API 实现远程控制。

通过这些 API,您可以管理 Shelly 设备——执行命令(但无法更改设备设置),接收有关设备状态变化的实时事件,实现监控和自动化功能。

本文旨在高度概述 Shelly Cloud API、Integrator API 和 Shelly Fleet Manager - SFM(SaaS)之间的区别。虽然这三者都是云服务,但它们各有不同,服务于不同的需求。

快速词汇表:

  • WebSocket - WebSocket 是一种通信协议,提供永久开放的连接(通道)以及在单一传输控制协议连接上的双向通信。在 Shelly 设备管理方面,Shelly 云可以通过 WebSocket 进行推送,而基于 HTTP 的 API 则采用请求与响应(轮询)的方式——随后连接会被关闭。

  • 云控制API - 通过 Shelly 云安全控制 Shelly 设备的 API 每个用户账户级别。用于在单个账户内以编程方式控制设备。需要管理每个账户的凭证。提供对账户内所有设备的访问权限。
    云控制API有两种通信方式:

    • 通过HTTP API进行控制和状态管理 - API旨在供提供增值服务的服务提供商使用,针对单个用户账户通过 Shelly Cloud 控制实现基于无状态HTTP通信的级别集成。

    • 通过WebSocket进行控制和实时事件 - API旨在供提供增值服务的服务提供商使用,针对单个用户账户Shelly Cloud Control 的账户级集成,但认证方式为 OAuth。访问令牌为长期有效,且在更改密码时会失效。
      这是通过WebSocket进行的实时通信。

  • 集成商API - Cloud-to-Cloud API 用于集成、控制和收集 Shelly 设备的状态更新,来自 多个 Shelly 用户账户。适用于B2B和大型工业用例。

  • Shelly Fleet Manager - Shelly 提供 SAAS 解决方案或自主管理的开源解决方案,无需依赖 Shelly Cloud,即可管理 Shelly 设备的设备群。

下面的简单逻辑图快速展示了本文后续详细说明的概念。

image-20250311-144909.png

通过单一 Shelly 账户控制设备 - 云控制 API

通过HTTP API进行控制和状态管理

适用于管理

单用户 Shelly 账户设备

API类型

通过HTTP

适用于

少量设备和/或DIY或概念验证

这是用于通过 Shelly cloud 控制 Shelly 设备的安全 API。通过它,您可以执行命令(但无法更改设备设置),并获取单个 Shelly Cloud 账户下设备的状态。

它可用于基础和高级用例,并允许以编程方式控制单个账户内的设备。通信通过HTTPS进行,数据交换采用JSON结构。

您可以直接使用 API 控制,无需 Shelly Control App。
您可以在应用中用户设置->授权云密钥中生成授权密钥
拥有此密钥即可控制单一 Shelly 账户下的设备。

注意 - 如果您更改密码,密钥将会更改。

一个用户账户与我们Shelly云基础设施中的服务器相关联,该服务器负责处理请求。使用此API需要知道用户所租用的主机。主机可能会发生变化,并不保证固定,因为容量考虑可能会导致租户在云主机之间迁移。

关于单账户级别控制的详细信息请参见 - https://shelly-api-docs.shelly.cloud/cloud-control-api/

通过WebSocket进行控制和实时事件

适用于管理:

单用户 Shelly 账户设备

API类型:

通过WebSocket

适用于:

少量设备和/或DIY或概念验证

使用场景 - 用于按 在 Shelly 云上的用户账户处理 Shelly 设备的 API。认证通过OAuth进行.

此API适用于设备数量较少的小型商业解决方案。

API 旨在供为单一用户账户级集成提供增值服务的服务提供商使用,集成自 Shelly Cloud Control。访问令牌为长期有效,且在更改密码时会失效。

连接: WebSocket 已建立,使用 OAuth 账户凭证。Shelly 云会发送实时设备状态通知,也可以下发设备控制指令。该 API 为集成商提供了一种简单方式来监控与单个 Shelly 云账户关联的设备状态。

注意:每个被管理账户连接都需要OAuth凭证。

非专业用途使用shelly-diy作为客户端ID。使用shelly-diy客户端ID获取的令牌可能会受到速率限制。

详细信息请参见 - https://shelly-api-docs.shelly.cloud/cloud-control-api/real-time-events

从多个 Shelly 用户账户控制设备。(企业应用场景)

集成商API

适用于管理:

多用户 Shelly 账户设备

API类型:

通过WebSocket

适用于:

来自多个账户的大量设备和大型工业用例

使用场景 - 用于处理属于 多个在 Shelly 云上的用户账户的 Shelly 设备 API。此 API 适用于大批量设备和大型工业场景的 B2B 解决方案。

支持多个实时事件WebSocket,从单一服务点开启,且以云对云为中心。

这是用于集成、控制和从我们设备收集数据的 Cloud-to-Cloud API。它面向希望监控和控制连接到我们云系统的 Shelly 设备的第三方集成商。它允许将多个 Shelly 账户的状态数据集中流式传输到单一数据接收点。也可以对设备进行基本控制。

必须创建一个持有集成商通信端点的集成商账户。有关集成商账户的创建及获取许可,请通过support@shelly.cloud联系我们或填写此表格。不提供个人用途的许可,Shelly 有权拒绝不合理的请求。

用户同意- 设备所有者如需使用某项服务,需登录其 Shelly Cloud 账户,并授权集成商共享其设备。同意的范围及同意本身可由用户单方面随时更改或撤销。每个设备单独授予同意,且可为只读或读写控制。

详细信息请参见 - https://shelly-api-docs.shelly.cloud/integrator-api/

用于管理有或没有 Shelly 账户的设备群的设备管理解决方案

Shelly Fleet Manager

image-20250313-122043.png

适用于管理:

带有(单/多)或没有 Shelly 用户账户的 Shelly 设备

API类型:

通过WebSocket

适用于:

工业用例

使用场景 - 独立于 Shelly Cloud 和账户管理 Shelly 设备。

Shelly Fleet Manager 作为产品的目标是监控、管理和控制分布在多个地点的 Shelly 智能设备群。

它提供了一个集中平台,用于实时数据采集、远程控制、自动化和报告。

这些设备可以选择是否绑定到 Shelly Cloud 账户。这带来了极大的灵活性,因为您可以无需任何设置直接添加即插即用的设备,甚至可以通过 Shelly FMA(Shelly Fleet Manager Assistant)批量添加。

Shelly Fleet ManagerSFM) 是 Shelly 的独立 SaaS 解决方案,完全独立于 Shelly Cloud,面向终端用户。这是 Shelly 提供的云端设备管理解决方案。SFM 拥有基于浏览器的用户界面(以及 Chrome 插件),其界面与 Shelly Cloud Control 应用(为终端用户设计)类似但又有所不同。

SFM被设计和开发为后台解决方案,用于需要本地自动化控制器以满足安全需求或系统设计要求的场景。

SFM可作为 Shelly 云解决方案使用,也可作为独立软件安装(为开源项目),客户可自行进一步开发和定制。

配合SFM你无需像普通用户一样拥有 Shelly Cloud 账户即可控制设备——只需将设备连接到 SFM 即可。

可通过 iOS 和 Android 的 Shelly 移动应用批量接入 Shelly 设备 - Shelly FMA(Shelly Fleet Manager Assistant)。

该应用可将 Shelly 设备部署到 SFM 实例,并为本地诊断提供配置和维护功能。

它将通过Bluetooth扫描所有新的附近设备,并将其添加到预配置的SFM实例中。可以将配置文件推送到设备,使其能够被分配到预配置的分组(例如基于物理位置)并应用预配置的设置、Wi-Fi等。

image-20250313-122206.png

Google Play商店:https://play.google.com/store/apps/details?id=com.shelly.fleetassistant&hl=en

苹果商店:https://apps.apple.com/bg/app/shelly-fma/id6526479868

后端连接: 这些设备正在使用出站WebSocket与车队管理器建立连接。

注意:SFM仅适用于 Gen2+ 设备。如果设备已连接到 Shelly Cloud Control,再连接到SFM不会将其与 Shelly 云断开连接,因为这些是独立的连接。

详细信息请参见 - https://fleet.shelly.com/

我们重视您的反馈!

感谢您抽出时间阅读我们的文章!它是否对您有帮助或有趣?

您的见解能帮助我们改进。我们非常感谢任何反馈。如果您有时间,

请通过以下邮箱与我们分享:

Integration@shelly.com