Vai al contenuto principale

Integra e crea con SUPLA

Collega SUPLA a Home Assistant, utilizza MQTT e REST API, esegui un server proprio oppure crea i tuoi dispositivi.

SUPLA è una piattaforma aperta. Puoi utilizzare meccanismi di integrazione pronti, creare soluzioni personalizzate e contribuire al progetto.

Che cosa vuoi fare?

Scegli da dove iniziare.

Home Assistant e MQTT

Collega SUPLA a Home Assistant tramite MQTT. MQTT Discovery può rilevare automaticamente la maggior parte delle funzioni supportate dei dispositivi.

Scopri l'integrazione

REST API

Crea applicazioni, automazioni e collegamenti con altri sistemi utilizzando REST API, OAuth 2.0 e MQTT.

Scopri l'API

Esegui un server SUPLA privato

Esegui una tua istanza SUPLA e gestisci l’infrastruttura nel tuo ambiente.

Scopri il self-hosting

Integra SUPLA con altri sistemi

SUPLA mette a disposizione MQTT e REST API per collegare dispositivi e dati con altri sistemi di automazione, applicazioni e servizi personalizzati.

Home Assistant tramite MQTT

SUPLA raccomanda MQTT come metodo principale di integrazione con Home Assistant.

SUPLA supporta due scenari MQTT: MQTT per l’intero account, messo a disposizione dal server SUPLA, e MQTT locale diretto nei dispositivi che lo supportano.

MQTT per l’intero account espone tramite il server SUPLA i dispositivi e i canali dell’account e supporta MQTT Discovery.

Alcuni dispositivi SUPLA possono inoltre collegarsi direttamente a un broker MQTT privato per la comunicazione locale.

  • MQTT SUPLA per l’intero account
  • MQTT Discovery
  • Home Assistant
  • MQTT locale sui dispositivi supportati
Scopri di più su Home Assistant e MQTT nelle FAQ

Crea dispositivi con supla-device

supla-device è un SDK aperto per creare dispositivi compatibili con l’ecosistema SUPLA.

Utilizza componenti, esempi e meccanismi di comunicazione pronti invece di creare da zero l’integrazione con SUPLA.

ESP32ESP8266ArduinoLinux

La libreria offre componenti pronti per relè, pulsanti, sensori e altre funzioni comuni dei dispositivi smart home.

Vedi supla-device su GitHub Si apre in una nuova scheda

Esempio: logica di un semplice interruttore Wi-Fi

Il frammento seguente mostra la logica del relè e del pulsante. L’esempio completo comprende anche la configurazione Wi-Fi e di rete.

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

REST API consente di leggere lo stato di dispositivi e canali, controllare le funzioni supportate, accedere alle misurazioni e creare applicazioni o integrazioni basate sul tuo account SUPLA.

L’accesso può essere autorizzato tramite OAuth 2.0 e la documentazione API è disponibile in formato OpenAPI.

  • REST API
  • OAuth 2.0
  • OpenAPI
  • applicazioni e automazioni personalizzate
Consulta la documentazione dell'API

Esegui un server SUPLA privato

Vuoi gestire personalmente l’infrastruttura? Puoi eseguire una tua istanza SUPLA nel tuo ambiente.

La base consigliata per il self-hosting è il progetto supla-docker, che permette di avviare i componenti necessari tramite Docker Compose. Un server proprio offre maggiore controllo sull’infrastruttura e sui dati, ma comporta anche la responsabilità della sua manutenzione.

  • Docker Compose
  • infrastruttura e dominio propri
  • aggiornamenti e monitoraggio
  • certificati TLS
  • backup e ripristino
  • sicurezza del server

Non dare per scontato che ogni servizio esterno funzioni su un’istanza privata esattamente come nel cloud ufficiale. Alcune funzioni possono richiedere chiavi, certificati o configurazioni aggiuntive.

supla-docker su GitHub Si apre in una nuova scheda

Tecnologie

Tecnologie principali utilizzate nei progetti SUPLA

Firmware

C/C++

Linguaggio di programmazione principale

Arduino IDE, PlatformIO, Visual Studio Code

Ambienti di sviluppo

ESP-IDF

Framework nativo per ESP32

Server

C++

Linguaggio principale del server di comunicazione (supla-core)

PHP/Symfony, JavaScript/Vue.js

Applicazione web (supla-cloud)

MySQL/MariaDB

Database principale

TimescaleDB

Database per la conservazione dei dati storici

Docker

Containerizzazione

Applicazioni client

Java, Kotlin

Applicazione Android

Objective-C, Swift

Applicazione iOS

C++

Librerie client

Contribuisci a SUPLA

SUPLA viene sviluppata come progetto open source. Puoi segnalare errori, proporre modifiche, inviare pull request oppure sviluppare progetti propri basati su SUPLA. Il forum riunisce utenti, sviluppatori, appassionati e persone che creano dispositivi e integrazioni.