Kbuca: Zrozumienie różnic między Shelly

Zrozumienie różnic między Shelly Cloud Control API, Integrator API i Shelly Fleet Manager
API.png

Shelly udostępnia szeroką gamę API dla swoich urządzeń, umożliwiając elastyczną integrację. Każde urządzenie można programować indywidualnie, działając albo jako samodzielna jednostka bez Shelly Cloud, albo za pośrednictwem bezpiecznego API chmurowego do zdalnego sterowania.

Dzięki tym API możesz zarządzać urządzeniami Shelly — wykonywać polecenia (ale nie możesz zmieniać ustawień urządzenia), otrzymywać zdarzenia w czasie rzeczywistym o zmianach statusu urządzenia, co umożliwia monitorowanie i automatyzację.

Celem tego artykułu jest bardzo ogólne opisanie różnicy między Shelly Cloud API, Integrator API i Shelly Fleet Manager — SFM (SaaS). Choć wszystkie 3 są usługami chmurowymi, różnią się między sobą i służą różnym celom.

Szybki słowniczek:

  • WebSocket - WebSocket to protokół komunikacyjny, zapewniający stale otwarte połączenie (kanał) i dwukierunkową komunikację w ramach jednego połączenia Transmission Control Protocol. Jeśli chodzi o zarządzanie urządzeniami Shelly, chmura Shelly może wysyłać dane przez WebSocket, podczas gdy API oparte na HTTP działa na zasadzie żądanie-odpowiedź (pooling) — po czym połączenie zostaje zamknięte.

  • Cloud Control API - Bezpieczne API do sterowania urządzeniami Shelly przez chmurę Shelly na poziomie konta użytkownika. Służy do programowego sterowania urządzeniami w ramach jednego konta. Wymagana jest obsługa danych logowania dla każdego konta. Zapewniony jest dostęp do wszystkich urządzeń w obrębie konta.
    Cloud Control API ma 2 metody komunikacji:

    • Control And State over HTTP API - API przeznaczone do użycia przez dostawców usług, którzy oferują usługi o wartości dodanej dla poziomu integracji pojedynczego konta użytkownika poprzez bezstanową komunikację HTTP z Shelly Cloud Control.

    • Control And Real Time Events over WebSocket - API przeznaczone do użycia przez dostawców usług, którzy oferują usługi o wartości dodanej dla poziomu integracji pojedynczego konta użytkownika z Shelly Cloud Control, ale uwierzytelnianie odbywa się przez OAuth. Token dostępu jest długotrwały i unieważniany przy zmianie hasła.
      To jest komunikacja na żywo przez WebSocket.

  • Integrator API - API cloud-to-cloud do integracji, sterowania i zbierania aktualizacji stanu urządzeń Shelly z wielu kont użytkowników Shelly. Przeznaczone do zastosowań B2B i dużych wdrożeń przemysłowych.

  • Shelly Fleet Manager - oferowane przez Shelly rozwiązanie SAAS lub samodzielne rozwiązanie open source, niezależne od Shelly Cloud, do zarządzania flotami urządzeń Shelly.

Poniższy prosty schemat logiczny zapewnia szybkie zobrazowanie pojęć szczegółowo opisanych później w tym artykule.

image-20250311-144909.png

Sterowanie urządzeniami z jednego konta Shelly — Cloud Control API

Control And State over HTTP API

Przeznaczone do zarządzania

urządzeniami z konta Single User Shelly

typ API

przez HTTP

Przeznaczone dla

niewielkiej liczby urządzeń i/lub DIY lub POC

To bezpieczne API do sterowania urządzeniami Shelly przez chmurę Shelly. Dzięki niemu możesz wykonywać polecenia (ale nie możesz zmieniać ustawień urządzenia) oraz pobierać stan urządzenia dla jednego konta Shelly Cloud.

Można go używać do podstawowych i zaawansowanych zastosowań oraz do programowego sterowania urządzeniami w ramach jednego konta. Komunikacja odbywa się przez HTTPS, a wymiana danych przez struktury JSON.

Możesz korzystać z bezpośredniego sterowania przez API bez aplikacji Shelly Control.
Możesz wygenerować klucz autoryzacyjny w aplikacji w Ustawienia użytkownika->Klucz autoryzacyjny w chmurze
Posiadanie tego klucza umożliwia sterowanie urządzeniami jednego konta Shelly.

Uwaga - klucz zmieni się po zmianie hasła.

Konto użytkownika jest powiązane z serwerem w naszej infrastrukturze chmurowej Shelly, który przetwarza żądania. Korzystanie z tego API wymaga znajomości hosta, którego użytkownik jest dzierżawcą. Host może ulec zmianie i nie jest gwarantowany, ponieważ względy wydajności mogą prowadzić do przenoszenia dzierżawców między hostami chmurowymi.

Szczegółowe informacje na temat sterowania na poziomie pojedynczego konta można znaleźć tutaj - https://shelly-api-docs.shelly.cloud/cloud-control-api/

Control And Real Time Events over WebSocket

Przeznaczone do zarządzania:

urządzeniami z konta Single User Shelly

typ API:

przez WebSocket

Przeznaczone dla:

niewielkiej liczby urządzeń i/lub DIY lub POC

Przypadek użycia - obsługa API urządzeń Shelly dla konta użytkownika w chmurze Shelly. Uwierzytelnianie odbywa się przez OAuth.

To API jest przeznaczone dla rozwiązań dla małych firm z małą liczbą urządzeń.

API przeznaczone do użycia przez dostawców usług, którzy oferują usługi o wartości dodanej dla integracji na poziomie pojedynczego konta użytkownika z Shelly Cloud Control. Token dostępu jest długotrwały i unieważniany przy zmianie hasła.

Połączenie: WebSocket jest ustanawiany przy użyciu danych logowania konta OAuth. Powiadomienia o stanie urządzeń w czasie rzeczywistym są wysyłane przez chmurę Shelly, a także można wydawać polecenia sterujące urządzeniami. API umożliwia integratorowi prosty sposób monitorowania statusów urządzeń powiązanych z jednym kontem Shelly cloud.

Uwaga: każde zarządzane połączenie konta wymaga danych uwierzytelniających OAuth.

Do użytku nieprofesjonalnego shelly-diy jako client id. Tokeny uzyskane z shelly-diy client id MOGĄ podlegać ograniczeniom liczby żądań.

Szczegółowe informacje można znaleźć tutaj - https://shelly-api-docs.shelly.cloud/cloud-control-api/real-time-events

Sterowanie urządzeniami z wielu kont użytkowników Shelly. (Przypadki użycia biznesowego)

Integrator API

Przeznaczone do zarządzania:

urządzeniami z wielu kont użytkowników Shelly

typ API:

przez WebSocket

Przeznaczone dla:

dużej liczby urządzeń z wielu kont i dużych zastosowań przemysłowych

Przypadek użycia - obsługa API urządzeń Shelly należących do wielu kont użytkowników w chmurze Shelly. To API jest przeznaczone dla rozwiązania B2B dla dużej liczby urządzeń i dużych zastosowań przemysłowych.

Obsługuje wiele WebSocketów Real Time Events, otwieranych z jednego punktu usługowego, i ma charakter cloud-to-cloud.

To API cloud-to-cloud do integracji, sterowania i zbierania danych z naszych urządzeń. Jest przeznaczone dla integratorów zewnętrznych, którzy chcą monitorować i sterować urządzeniami Shelly podłączonymi do naszych systemów chmurowych. Umożliwia scentralizowany strumień danych o statusie z wielu kont Shelly do jednego punktu pobierania danych. Możliwe jest również podstawowe sterowanie urządzeniami.

Należy utworzyć konto integratora zawierające punkty końcowe komunikacji integratora. Aby utworzyć konto integratora i uzyskać licencję, skontaktuj się z nami pod adresem support@shelly.cloud lub wypełnij ten formularz. Licencje do użytku osobistego nie są प्रदानowane, a Shelly ma prawo odrzucić nieuzasadnione prośby.

Zgoda użytkownika - Właściciele urządzeń, którzy chcą korzystać z usługi, muszą zalogować się na swoje konto Shelly Cloud i wyrazić zgodę na udostępnianie swoich urządzeń integratorowi. Zakres zgody i sama zgoda mogą zostać jednostronnie zmienione lub cofnięte przez użytkownika w dowolnym momencie. Zgoda jest udzielana dla każdego urządzenia osobno i może obejmować tylko odczyt albo odczyt i sterowanie.

Szczegółowe informacje można znaleźć tutaj - https://shelly-api-docs.shelly.cloud/integrator-api/

Rozwiązanie do zarządzania flotą urządzeń z lub bez kont Shelly

Shelly Fleet Manager

image-20250313-122043.png

Przeznaczone do zarządzania:

urządzeniami Shelly z (jednym/wieloma) kontami Shelly User lub bez nich

typ API:

przez WebSocket

Przeznaczone dla:

przypadków użycia przemysłowego

Przypadek użycia - zarządzanie urządzeniami Shelly niezależnie od Shelly Cloud i kont.

Celem produktu Shelly Fleet Manager jest monitorowanie, zarządzanie i sterowanie flotami inteligentnych urządzeń Shelly w wielu lokalizacjach.

Zapewnia scentralizowaną platformę do pozyskiwania danych w czasie rzeczywistym, zdalnego sterowania, automatyzacji i raportowania.

Urządzenia te mogą być powiązane z kontami Shelly Cloud lub nie. To czyni rozwiązanie bardzo elastycznym, ponieważ można dodawać gotowe do użycia urządzenia bez żadnej konfiguracji, a nawet dodawać je hurtowo za pomocą Shelly FMA (Shelly Fleet Manager Assistant).

Shelly Fleet Manager (SFM) to samodzielne rozwiązanie SaaS od Shelly, całkowicie niezależne od Shelly Cloud dla użytkowników końcowych. To rozwiązanie chmurowe od Shelly i zapewnia zarządzanie urządzeniami. SFM ma interfejs webowy (oraz wtyczkę do Chrome), który jest podobny, ale inny niż aplikacja Shelly Cloud Control (zaprojektowana dla użytkowników końcowych).

SFM jest projektowany i rozwijany jako rozwiązanie back-office do użycia w przypadkach, gdy lokalny kontroler automatyki jest potrzebny ze względów bezpieczeństwa lub jest wymagany przez projekt systemu.

SFM może być używany jako rozwiązanie chmurowe Shelly lub zainstalowany jako samodzielne oprogramowanie (jest to projekt open source) i dalej rozwijany oraz dostosowywany przez klientów samodzielnie.

Dzięki SFM nie potrzebujesz konta Shelly Cloud (jak zwykli użytkownicy), aby sterować urządzeniami — wystarczy podłączyć je do SFM.

Hurtowe dodawanie urządzeń Shelly jest możliwe za pośrednictwem aplikacji mobilnych Shelly na iOS i Androida - Shelly FMA (Shelly Fleet Manager Assistant).

Aplikacja umożliwia uruchamianie urządzeń Shelly w instancji SFM i dodaje funkcje konfiguracji oraz konserwacji do lokalnej diagnostyki.

Przeskanuje przez Bluetooth wszystkie nowe urządzenia w pobliżu i doda je do wstępnie skonfigurowanej instancji SFM. Profile konfiguracji mogą być przesyłane do urządzeń, umożliwiając ich umieszczanie w wstępnie skonfigurowanych grupach (na przykład na podstawie lokalizacji fizycznej) z prekonfigurowanymi ustawieniami, Wi‑Fi itd.

image-20250313-122206.png

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

Apple Store: https://apps.apple.com/bg/app/shelly-fma/id6526479868

Połączenie z backendem: Urządzenia używają wychodzącego WebSocket do ustanowienia połączenia z Fleet Managerem.

Uwaga: SFM działa tylko z urządzeniami Gen2+. Jeśli urządzenia są już podłączone do Shelly Cloud Control, podłączenie ich do SFM nie odłączy ich od chmury Shelly, ponieważ są to niezależne połączenia.

Szczegółowe informacje można znaleźć tutaj - https://fleet.shelly.com/

Cenimy Twoją opinię!

Dziękujemy za poświęcenie czasu na przeczytanie naszego artykułu! Czy był on pomocny lub interesujący?

Twoje spostrzeżenia mogą pomóc nam się doskonalić. Będziemy wdzięczni za każdą opinię. Jeśli masz chwilę,

podziel się nią z nami, pisząc na adres e-mail:

Integration@shelly.com