Ugrás a fő tartalomhoz

Integráció és fejlesztés a SUPLA-val

Kapcsolja össze a SUPLA-t a Home Assistanttal, használjon MQTT-t és REST API-t, futtasson saját szervert, vagy építsen saját eszközöket.

A SUPLA nyílt platform. Használhat kész integrációs mechanizmusokat, létrehozhat saját megoldásokat, és hozzájárulhat a projekt fejlesztéséhez.

Mit szeretne megvalósítani?

Válassza ki, hol szeretné kezdeni.

Home Assistant és MQTT

Kapcsolja össze a SUPLA-t a Home Assistanttal MQTT-n keresztül. Az MQTT Discovery automatikusan felismeri a legtöbb támogatott eszközfunkciót.

Az integráció megismerése

REST API

Készítsen alkalmazásokat, automatizálásokat és más rendszerekhez kapcsolódó integrációkat REST API, OAuth 2.0 és MQTT használatával.

Az API lehetőségeinek megismerése

A SUPLA integrálása más rendszerekkel

A SUPLA MQTT-t és REST API-t biztosít, amelyekkel eszközöket és adatokat kapcsolhat más automatizálási rendszerekhez, alkalmazásokhoz és saját szolgáltatásokhoz.

Home Assistant MQTT-n keresztül

A SUPLA az MQTT-t ajánlja a Home Assistanttal való integráció elsődleges módjaként.

A SUPLA két MQTT-forgatókönyvet támogat: a SUPLA-szerver által a teljes fiókhoz biztosított MQTT-t, valamint a támogatott eszközökön elérhető közvetlen, helyi MQTT-t.

A teljes fiókra kiterjedő MQTT a SUPLA-szerveren keresztül teszi elérhetővé a fiók eszközeit és csatornáit, és támogatja az MQTT Discovery funkciót.

Egyes SUPLA-eszközök helyi kommunikáció céljából közvetlenül is csatlakozhatnak a saját MQTT-brokerhez.

  • teljes SUPLA-fiókra kiterjedő MQTT
  • MQTT Discovery
  • Home Assistant
  • helyi MQTT a támogatott eszközökön
További információ a Home Assistantról és az MQTT-ről a GYIK-ben

Saját eszközök fejlesztése a supla-device segítségével

A supla-device egy nyílt SDK a SUPLA ökoszisztémával együttműködő eszközök fejlesztéséhez.

Használjon kész összetevőket, példákat és kommunikációs mechanizmusokat ahelyett, hogy az alapoktól építené fel a SUPLA-integrációt.

ESP32ESP8266ArduinoLinux

A könyvtár kész összetevőket biztosít relékhez, nyomógombokhoz, érzékelőkhöz és más gyakori okosotthon-funkciókhoz.

A supla-device megtekintése a GitHubon Új lapon nyílik meg

Példa: egy egyszerű Wi-Fi-kapcsoló eszközlogikája

Az alábbi kódrészlet a relé és a nyomógomb logikáját mutatja be. A teljes példa a Wi-Fi- és hálózati konfigurációt is tartalmazza.

#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 és OAuth

A REST API segítségével lekérdezheti az eszközök és csatornák állapotát, vezérelheti a támogatott funkciókat, hozzáférhet a mérési adatokhoz, és a SUPLA-fiókra épülő alkalmazásokat vagy integrációkat készíthet.

A hozzáférés OAuth 2.0 használatával engedélyezhető, az API dokumentációja pedig OpenAPI formátumban érhető el.

  • REST API
  • OAuth 2.0
  • OpenAPI
  • saját alkalmazások és automatizálások
API-dokumentáció megtekintése

Saját SUPLA-szerver futtatása

Saját maga szeretné kezelni az infrastruktúrát? Saját környezetében is futtathat SUPLA-példányt.

A saját üzemeltetés (self-hosting) ajánlott alapja a supla-docker projekt, amellyel Docker Compose használatával futtathatók a szükséges összetevők. A saját szerver nagyobb ellenőrzést biztosít az infrastruktúra és az adatok felett, ugyanakkor az üzemeltetés felelőssége is Önt terheli.

  • Docker Compose
  • saját infrastruktúra és domain
  • frissítések és felügyelet
  • TLS-tanúsítványok
  • biztonsági mentés és visszaállítás
  • szerverbiztonság

Ne feltételezze, hogy minden külső szolgáltatás pontosan ugyanúgy működik egy privát példányon, mint a hivatalos felhőben. Egyes funkciókhoz további kulcsokra, tanúsítványokra vagy konfigurációra lehet szükség.

supla-docker a GitHubon Új lapon nyílik meg

Technológiai stack

A SUPLA-projektekben használt fő technológiák

Firmware

C/C++

Elsődleges programozási nyelv

Arduino IDE, PlatformIO, Visual Studio Code

Fejlesztői környezetek

ESP-IDF

Natív ESP32-keretrendszer

Szerver

C++

A kommunikációs szerver (supla-core) elsődleges nyelve

PHP/Symfony, JavaScript/Vue.js

Webalkalmazás (supla-cloud)

MySQL/MariaDB

Elsődleges adatbázis

TimescaleDB

Adatbázis a korábbi adatok tárolásához

Docker

Konténerizáció

Kliensalkalmazások

Java, Kotlin

Android-alkalmazás

Objective-C, Swift

iOS-alkalmazás

C++

Klienskönyvtárak

Járuljon hozzá a SUPLA fejlesztéséhez

A SUPLA nyílt forráskódú projektként fejlődik. Hibákat jelenthet be, módosításokat javasolhat, pull requesteket küldhet be, vagy saját SUPLA-alapú projekteket fejleszthet. A fórum felhasználókat, fejlesztőket, hobbistákat, valamint saját eszközöket és integrációkat készítő alkotókat hoz össze.