Przejdź do treści głównej

Integruj i twórz z SUPLĄ

Połącz SUPLĘ z Home Assistant, korzystaj z MQTT i REST API, uruchom własny serwer albo twórz własne urządzenia.

SUPLA jest otwartą platformą. Możesz korzystać z gotowych mechanizmów integracji, budować własne rozwiązania i współtworzyć projekt.

Co chcesz zrobić?

Wybierz obszar, od którego chcesz zacząć.

Home Assistant i MQTT

Połącz SUPLĘ z Home Assistant przez MQTT. MQTT Discovery pozwala automatycznie wykrywać większość obsługiwanych funkcji urządzeń.

Zobacz integrację

REST API

Twórz aplikacje, automatyzacje i połączenia z innymi systemami przy użyciu REST API, OAuth 2.0 i MQTT.

Zobacz możliwości API

Własny serwer SUPLA

Uruchom własną instancję SUPLA i zarządzaj infrastrukturą we własnym środowisku.

Zobacz self-hosting

Integruj SUPLĘ z innymi systemami

SUPLA udostępnia MQTT i REST API, dzięki którym możesz łączyć urządzenia i dane z innymi systemami automatyki, aplikacjami i własnymi usługami.

Home Assistant przez MQTT

SUPLA rekomenduje MQTT jako podstawowy sposób integracji z Home Assistant.

SUPLA obsługuje dwa scenariusze MQTT: MQTT dla całego konta, udostępniane przez serwer SUPLA, oraz bezpośrednie lokalne MQTT dostępne w obsługujących je urządzeniach.

MQTT dla całego konta udostępnia urządzenia i kanały z konta SUPLA za pośrednictwem serwera SUPLA i obsługuje MQTT Discovery.

Wybrane urządzenia SUPLA mogą również łączyć się bezpośrednio z własnym brokerem MQTT, umożliwiając komunikację lokalną.

  • MQTT dla konta SUPLA
  • MQTT Discovery
  • Home Assistant
  • lokalny MQTT w obsługiwanych urządzeniach
Więcej o Home Assistant i MQTT w FAQ

Twórz własne urządzenia z supla-device

supla-device to otwarte SDK do budowania urządzeń współpracujących z ekosystemem SUPLA.

Możesz wykorzystać gotowe komponenty, przykłady i mechanizmy komunikacji zamiast budować integrację z SUPLĄ od podstaw.

ESP32ESP8266ArduinoLinux

Biblioteka zawiera gotowe elementy m.in. dla przekaźników, przycisków, czujników i innych typowych funkcji urządzeń smart home.

Zobacz supla-device na GitHub Otwiera się w nowej karcie

Przykład: logika prostego przełącznika Wi-Fi

Poniższy fragment pokazuje logikę przekaźnika i przycisku. Pełny przykład zawiera również konfigurację Wi-Fi i sieci.

#include <SuplaDevice.h>
#include <supla/control/button.h>
#include <supla/control/relay.h>

void setup() {
    auto relay = new Supla::Control::Relay(12);
    relay->setDefaultFunction(SUPLA_CHANNELFNC_POWERSWITCH);

    auto button = new Supla::Control::Button(0, true, true);
    button->addAction(Supla::TOGGLE, relay, Supla::ON_CLICK_1);

    SuplaDevice.begin();
}

void loop() {
    SuplaDevice.iterate();
}

REST API

REST API i OAuth

REST API pozwala odczytywać stany urządzeń i kanałów, sterować obsługiwanymi funkcjami, pobierać dane pomiarowe oraz tworzyć własne aplikacje, narzędzia i integracje korzystające z konta SUPLA.

Dostęp może być autoryzowany przy użyciu OAuth 2.0, a dokumentacja API jest dostępna w formacie OpenAPI.

  • REST API
  • OAuth 2.0
  • OpenAPI
  • własne aplikacje i automatyzacje
Zobacz dokumentację API

Uruchom własny serwer SUPLA

Chcesz samodzielnie zarządzać infrastrukturą? Możesz uruchomić własną instancję SUPLA we własnym środowisku.

Zalecaną podstawą do self-hostingu jest projekt supla-docker, który pozwala uruchomić wymagane komponenty przy użyciu Docker Compose. Własny serwer daje większą kontrolę nad infrastrukturą i danymi, ale oznacza również przejęcie odpowiedzialności za jego utrzymanie.

  • Docker Compose
  • własna infrastruktura i domena
  • aktualizacje i monitoring
  • certyfikaty TLS
  • backup i odtwarzanie
  • bezpieczeństwo serwera

Nie zakładaj, że wszystkie zewnętrzne usługi będą działać na prywatnej instancji dokładnie tak samo jak w oficjalnej chmurze. Niektóre funkcje mogą wymagać dodatkowych kluczy, certyfikatów lub konfiguracji.

supla-docker na GitHub Otwiera się w nowej karcie

Technologie

Główne technologie używane w projektach SUPLA

Oprogramowanie układowe

C/C++

Dominujący język programowania

Arduino IDE, PlatformIO, Visual Studio Code

Środowiska programistyczne

ESP-IDF

Natywny framework ESP32

Serwer

C++

Dominujący język serwera komunikacji (supla-core)

PHP/Symfony, JavaScript/Vue.js

Aplikacja webowa (supla-cloud)

MySQL/MariaDB

Główna baza danych

TimescaleDB

Baza danych do przechowywania danych historycznych

Docker

Konteneryzacja

Aplikacje klienckie

Java, Kotlin

Aplikacja na Androida

Objective-C, Swift

Aplikacja dla iOS

C++

Biblioteki klienckie

Współtwórz SUPLĘ

SUPLA jest rozwijana jako projekt open source. Możesz zgłaszać błędy, proponować zmiany, tworzyć pull requesty albo rozwijać własne projekty wykorzystujące SUPLĘ. Na forum spotykają się użytkownicy, programiści, hobbyści i osoby tworzące własne urządzenia oraz integracje.