Skip to Content
🚀 We just launched! Please star us on Github!

Third-Party Plugin

The Third-Party plugin allows you to connect your own smart devices and services to the Smart Panel backend through simple API endpoints. It’s the most flexible integration method, ideal for custom hardware or external systems not yet natively supported.

What It Does

This plugin enables Smart Panel to communicate with arbitrary third-party devices:

  • Send device commands to external services via HTTP
  • Accept incoming state updates from external systems
  • Maintain real-time device state within the Smart Panel ecosystem

No advanced configuration is required in the panel. Instead, all logic lives in the endpoint integration of the third-party system.


Configuration

No plugin configuration is required in the config.yaml file. All setup is done per device using the Admin App or API.

Each third-party device must define its:

  • Command Endpoint — where the Smart Panel should send commands when the user interacts with the panel
  • State Update Endpoint — used by third-party systems to notify Smart Panel when device state changes

For the full data structure and API expectations, see the third-party device specification below:

Third-party Device Schema

How It Works

Sending Commands

When a user interacts with a device (e.g. turns on a switch), the backend calls the configured command endpoint for the given device. This request follows this API definition:

Send command to third-party device

Receiving State Updates

When a third-party device changes its state, it must call the Smart Panel API to update the appropriate property:

Update a device property

In the future, this plugin will also support WebSocket-based communication using Socket.IO for more responsive and real-time integrations.


Integration Steps

Define Device in the Admin App

Add your device via the Admin App. Choose the “Third-Party” device type and provide all required metadata.

Set Command Endpoint

In the device settings, specify the HTTP endpoint that will receive commands (e.g. toggles, state changes).

Implement Command Listener

Your backend should listen to incoming POST requests and execute the corresponding device action.

Update Property States

Whenever the device changes its state (e.g. temperature, switch status), send a POST request to Smart Panel to update the value.

Test Communication

Interact with the panel and verify that commands reach your service and state updates are reflected in the UI.

Features

  • ✅ Stateless HTTP communication
  • ✅ Supports any language or platform
  • ✅ Fully customizable integration
  • 🛠️ WebSocket support in development
Last updated on