Skip to content

SUPLA logo SUPLA

SUPLA is an open smart home platform that brings together hardware manufacturers, the community, and users.

A complete setup is built from multiple parts: device software, communication layer, cloud backend, applications, and deployment.


If you are a user

If you want to use SUPLA (not work on its development):

  • You can use SUPLA with public cloud services (no self-hosting required)
  • You can also run your own instance using self-hosting

For typical usage, start with:

If you are a software developer or a power user, continue below.


How SUPLA is structured

SUPLA is divided into layers with clear responsibilities:

  • device software
  • core (server, protocol, communication)
  • cloud (user interface, configuration, API)
  • mobile applications
  • deployment and infrastructure

These layers are developed independently. This is a deliberate design choice.


How the system works

In simplified form:

device → core (server) → cloud → mobile application

  1. Devices run SUPLA-compatible software
  2. Core components handle device connections, protocol, and data exchange
  3. Cloud provides user interface, configuration, accounts, and API access
  4. Applications connect to the system through server/core and cloud interfaces

This separation is key to understanding the system.


Start from your goal

Run SUPLA (self-hosting)

https://github.com/supla/supla-docker

Infrastructure and deployment setup.


Build or integrate a device

https://github.com/supla/supla-device

Device-side software and SDK.


Work on cloud (user interface, configuration, API)

https://github.com/supla/supla-cloud

User-facing cloud interface, configuration, and API.


Work on core system (server, communication, system logic)

https://github.com/supla/supla-core

Central system component responsible for device connections, communication, and core system logic.


Work on mobile applications

https://github.com/supla/supla-android
https://github.com/supla/supla-ios

User applications.


What SUPLA is not

SUPLA is not:

  • a single deployable system from one repository
  • a closed ecosystem tied to one manufacturer
  • a monolithic codebase combining all layers

Understanding this avoids most confusion when working with the platform.


For contributors

Choose the layer you want to work on:

Each repository defines its own scope and contribution rules.


Legacy repositories

Some repositories are no longer part of the current development path.

If something looks outdated, archived, or inconsistent with the structure above, treat it as historical.

Pinned Loading

  1. supla-core supla-core Public

    Core server and system components of the SUPLA smart home platform.

    C++ 80 44

  2. supla-cloud supla-cloud Public

    Cloud web application and REST API for the SUPLA open smart home platform.

    PHP 74 47

  3. supla-device supla-device Public

    Embedded device SDK for building SUPLA-compatible smart home devices.

    C++ 53 29

  4. supla-android supla-android Public

    Android client application for the SUPLA open smart home platform.

    Kotlin 36 48

  5. supla-ios supla-ios Public

    iOS client application for the SUPLA open smart home platform.

    C 10 16

Repositories

Showing 10 of 29 repositories

Top languages

Loading…

Most used topics

Loading…