Zum Hauptinhalt springen

Integrieren & Entwickeln mit SUPLA

Verbinden Sie SUPLA mit Home Assistant, nutzen Sie MQTT und die REST API, betreiben Sie einen eigenen Server oder entwickeln Sie eigene Geräte.

SUPLA ist eine offene Plattform. Sie können fertige Integrationsmechanismen nutzen, eigene Lösungen entwickeln und zum Projekt beitragen.

Was möchten Sie tun?

Wählen Sie, womit Sie beginnen möchten.

Home Assistant & MQTT

Verbinden Sie SUPLA über MQTT mit Home Assistant. MQTT Discovery kann die meisten unterstützten Gerätefunktionen automatisch erkennen.

Integration entdecken

REST API

Entwickeln Sie Apps, Automatisierungen und Verbindungen zu anderen Systemen mit REST API, OAuth 2.0 und MQTT.

API-Möglichkeiten entdecken

Eigenen SUPLA-Server betreiben

Betreiben Sie eine eigene SUPLA-Instanz und verwalten Sie die Infrastruktur in Ihrer eigenen Umgebung.

Self-Hosting entdecken

SUPLA mit anderen Systemen integrieren

SUPLA stellt MQTT und eine REST API bereit, um Geräte und Daten mit anderen Automationssystemen, Anwendungen und eigenen Diensten zu verbinden.

Home Assistant über MQTT

SUPLA empfiehlt MQTT als primären Weg zur Integration mit Home Assistant.

SUPLA unterstützt zwei MQTT-Szenarien: kontoweites MQTT über den SUPLA-Server und direktes lokales MQTT bei unterstützten Geräten.

Kontoweites MQTT stellt Geräte und Kanäle Ihres SUPLA-Kontos über den SUPLA-Server bereit und unterstützt MQTT Discovery.

Einige SUPLA-Geräte können für die lokale Kommunikation außerdem eine direkte Verbindung zu Ihrem eigenen MQTT-Broker herstellen.

  • kontoweites SUPLA MQTT
  • MQTT Discovery
  • Home Assistant
  • lokales MQTT bei unterstützten Geräten
Mehr über Home Assistant und MQTT in den FAQ

Eigene Geräte mit supla-device entwickeln

supla-device ist ein offenes SDK zur Entwicklung von Geräten, die mit dem SUPLA-Ökosystem zusammenarbeiten.

Nutzen Sie fertige Komponenten, Beispiele und Kommunikationsmechanismen, anstatt die SUPLA-Integration von Grund auf zu entwickeln.

ESP32ESP8266ArduinoLinux

Die Bibliothek bietet fertige Komponenten für Relais, Taster, Sensoren und andere typische Funktionen von Smart-Home-Geräten.

supla-device auf GitHub ansehen Öffnet sich in einem neuen Tab

Beispiel: Gerätelogik für einen einfachen WLAN-Schalter

Der folgende Ausschnitt zeigt die Relais- und Tasterlogik. Das vollständige Beispiel enthält außerdem die WLAN- und Netzwerkkonfiguration.

#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 & OAuth

Mit der REST API können Sie Geräte- und Kanalzustände lesen, unterstützte Funktionen steuern, Messdaten abrufen und Anwendungen oder Integrationen rund um Ihr SUPLA-Konto entwickeln.

Der Zugriff kann über OAuth 2.0 autorisiert werden; die API-Dokumentation ist im OpenAPI-Format verfügbar.

  • REST API
  • OAuth 2.0
  • OpenAPI
  • eigene Apps und Automatisierungen
API-Dokumentation ansehen

Eigenen SUPLA-Server betreiben

Möchten Sie die Infrastruktur selbst verwalten? Sie können eine eigene SUPLA-Instanz in Ihrer eigenen Umgebung betreiben.

Die empfohlene Grundlage für Self-Hosting ist das Projekt supla-docker, mit dem sich die erforderlichen Komponenten über Docker Compose ausführen lassen. Ein eigener Server gibt Ihnen mehr Kontrolle über Infrastruktur und Daten, überträgt Ihnen aber auch die Verantwortung für den Betrieb.

  • Docker Compose
  • eigene Infrastruktur und Domain
  • Aktualisierungen und Monitoring
  • TLS-Zertifikate
  • Sicherung und Wiederherstellung
  • Serversicherheit

Gehen Sie nicht davon aus, dass jeder externe Dienst auf einer privaten Instanz genauso funktioniert wie in der offiziellen Cloud. Einige Funktionen können zusätzliche Schlüssel, Zertifikate oder Konfigurationen erfordern.

supla-docker auf GitHub Öffnet sich in einem neuen Tab

Technologien

Wichtige Technologien in den SUPLA-Projekten

Firmware

C/C++

Hauptprogrammiersprache

Arduino IDE, PlatformIO, Visual Studio Code

Entwicklungsumgebungen

ESP-IDF

Natives Framework für ESP32

Server

C++

Hauptsprache des Kommunikationsservers (supla-core)

PHP/Symfony, JavaScript/Vue.js

Webanwendung (supla-cloud)

MySQL/MariaDB

Hauptdatenbank

TimescaleDB

Datenbank zur Speicherung historischer Daten

Docker

Containerisierung

Client-Apps

Java, Kotlin

Android-App

Objective-C, Swift

iOS-App

C++

Client-Bibliotheken

Zu SUPLA beitragen

SUPLA wird als Open-Source-Projekt entwickelt. Sie können Fehler melden, Änderungen vorschlagen, Pull Requests einreichen oder eigene Projekte mit SUPLA entwickeln. Im Forum treffen sich Nutzer, Entwickler, Hobbyisten und Menschen, die eigene Geräte und Integrationen entwickeln.