Aller au contenu principal

Intégrez et créez avec SUPLA

Connectez SUPLA à Home Assistant, utilisez MQTT et la REST API, exécutez votre propre serveur ou construisez vos propres appareils.

SUPLA est une plateforme ouverte. Vous pouvez utiliser des mécanismes d’intégration prêts à l’emploi, développer vos propres solutions et contribuer au projet.

Que souhaitez-vous faire ?

Choisissez par où commencer.

Home Assistant & MQTT

Connectez SUPLA à Home Assistant via MQTT. MQTT Discovery permet de détecter automatiquement la plupart des fonctions d’appareil prises en charge.

Découvrir l’intégration

REST API

Créez des applications, des automatisations et des connexions à d’autres systèmes avec la REST API, OAuth 2.0 et MQTT.

Découvrir l’API

Intégrer SUPLA à d’autres systèmes

SUPLA fournit MQTT et une REST API pour relier les appareils et les données à d’autres systèmes d’automatisation, applications et services que vous développez.

Home Assistant via MQTT

SUPLA recommande MQTT comme principal moyen d’intégration à Home Assistant.

SUPLA prend en charge deux scénarios MQTT : le MQTT pour l’ensemble du compte fourni par le serveur SUPLA, et le MQTT local direct disponible sur les appareils compatibles.

Le MQTT pour l’ensemble du compte expose les appareils et les canaux de votre compte SUPLA par l’intermédiaire du serveur SUPLA et prend en charge MQTT Discovery.

Certains appareils SUPLA peuvent également se connecter directement à votre propre broker MQTT pour communiquer localement.

  • MQTT SUPLA pour l’ensemble du compte
  • MQTT Discovery
  • Home Assistant
  • MQTT local sur les appareils compatibles
En savoir plus sur Home Assistant et MQTT dans la FAQ

Construire vos propres appareils avec supla-device

supla-device est un SDK ouvert permettant de construire des appareils compatibles avec l’écosystème SUPLA.

Utilisez des composants, des exemples et des mécanismes de communication prêts à l’emploi au lieu de développer l’intégration à SUPLA à partir de zéro.

ESP32ESP8266ArduinoLinux

La bibliothèque fournit des composants prêts à l’emploi pour les relais, les boutons, les capteurs et d’autres fonctions courantes des appareils domotiques.

Voir supla-device sur GitHub S’ouvre dans un nouvel onglet

Exemple : logique d’un interrupteur Wi-Fi simple

L’extrait ci-dessous présente la logique du relais et du bouton. L’exemple complet comprend également la configuration du Wi-Fi et du réseau.

#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

Utilisez la REST API pour lire l’état des appareils et des canaux, piloter les fonctions prises en charge, accéder aux mesures et développer des applications ou intégrations autour de votre compte SUPLA.

L’accès peut être autorisé avec OAuth 2.0, et la documentation de l’API est disponible au format OpenAPI.

  • REST API
  • OAuth 2.0
  • OpenAPI
  • applications et automatisations personnalisées
Voir la documentation de l’API

Exécuter votre propre serveur SUPLA

Vous souhaitez gérer vous-même l’infrastructure ? Vous pouvez exécuter votre propre instance SUPLA dans votre environnement.

Le projet supla-docker constitue la base recommandée pour l’auto-hébergement (self-hosting). Il permet d’exécuter les composants nécessaires avec Docker Compose. Votre propre serveur vous offre davantage de contrôle sur l’infrastructure et les données, mais vous rend également responsable de sa maintenance.

  • Docker Compose
  • votre propre infrastructure et votre propre domaine
  • mises à jour et supervision
  • certificats TLS
  • sauvegarde et restauration
  • sécurité du serveur

Ne partez pas du principe que tous les services externes fonctionneront sur une instance privée exactement comme dans le cloud officiel. Certaines fonctions peuvent nécessiter des clés, des certificats ou une configuration supplémentaires.

supla-docker sur GitHub S’ouvre dans un nouvel onglet

Technologies utilisées

Principales technologies employées dans les projets SUPLA

Firmware

C/C++

Langage de programmation principal

Arduino IDE, PlatformIO, Visual Studio Code

Environnements de développement

ESP-IDF

Framework natif pour ESP32

Serveur

C++

Langage principal du serveur de communication (supla-core)

PHP/Symfony, JavaScript/Vue.js

Application web (supla-cloud)

MySQL/MariaDB

Base de données principale

TimescaleDB

Base de données destinée au stockage de l’historique

Docker

Conteneurisation

Applications clientes

Java, Kotlin

Application Android

Objective-C, Swift

Application iOS

C++

Bibliothèques clientes

Contribuer à SUPLA

SUPLA est développé comme un projet open source. Vous pouvez signaler des bugs, proposer des modifications, soumettre des pull requests ou développer vos propres projets avec SUPLA. Le forum réunit les utilisateurs, les développeurs, les passionnés et les personnes qui créent leurs propres appareils et intégrations.