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

Extensions

Smart Panel is built on a modular architecture. The system is split into modules (core features) and plugins (integrations and components), all working together to deliver a flexible smart home platform.


Architecture

The codebase is organized into two layers:

  • Modules — core system features that provide the fundamental functionality
  • Plugins — integrations and components that extend the system with device support, UI elements, AI capabilities, weather providers, and more

Both modules and plugins exist across all three applications: the backend (NestJS), the admin UI (Vue.js), and the panel display (Flutter).

Third-party developers can build and distribute their own extensions as npm packages. See Building Extensions for details.


Core Modules

These modules ship with every Smart Panel installation and provide the system’s core functionality:

ModuleDescription
APIREST API layer and request handling
AuthAuthentication and JWT token management
BuddyAI assistant and voice control framework
ConfigSystem configuration and settings
DashboardPages, tiles, and display layout management
DevicesDevice, channel, and property management
DisplaysPanel display registration and configuration
EnergyEnergy consumption and production tracking
ExtensionsExtension discovery and registration
IntentsVoice and AI intent handling
mDNSNetwork discovery for panels and devices
PlatformHardware platform detection and management
ScenesScene creation and execution
SecurityAccess control and permissions
SpacesRoom, zone, and device assignment
StatsSystem statistics and metrics
StorageFile and data storage
SystemUpdates, health checks, and system info
UsersUser accounts and role management
WeatherWeather data aggregation
WebSocketReal-time communication with panel displays

Built-in Plugins

Smart Panel ships with 34 built-in plugins organized into the following categories.

Device Integrations

Connect Smart Panel to external smart home platforms and protocols. See Device Integrations for configuration details.

PluginDescription
Home AssistantImports devices and entities via WebSocket API
Shelly NGDiscovers and controls Shelly Next-Generation devices via mDNS/RPC
Shelly v1Support for first-generation Shelly devices
Third-PartyGeneric HTTP API for custom devices — any platform, any language
WLEDControls WLED-based LED strips and lights
Zigbee2MQTTIntegrates Zigbee devices through Zigbee2MQTT bridge
reTerminalNative hardware integration for SeeedStudio reTerminal (sensors, LEDs, buttons)

Pages

Define the layout types available on the panel display:

PluginDescription
Tiles PageFlexible grid layout for interactive tiles
Cards PageGrouped card layout for compact device overview
Device Detail PageFull-screen auto-generated view for a single device

Tiles

Visual blocks that appear within pages:

PluginDescription
Device PreviewShows device state with quick controls
SceneOne-tap scene trigger button
TimeCurrent time and date display
WeatherCurrent weather conditions or 7-day forecast

Data Sources

Bridge between tiles and live data:

PluginDescription
Device ChannelConnects tiles to device property values in real time
WeatherProvides weather data to weather tiles

Weather Providers

PluginDescription
Open-MeteoFree weather API — no API key required
OpenWeatherMapCurrent weather data via OpenWeatherMap API
OpenWeatherMap OneCallExtended forecast via OpenWeatherMap OneCall API

AI & Voice (Buddy)

AI assistant and voice control integrations:

PluginDescription
ClaudeAnthropic Claude for AI assistant conversations
Claude Setup TokenToken-based Claude configuration
OpenAIOpenAI GPT for AI assistant conversations
OpenAI CodexOpenAI Codex for code-related assistance
OllamaLocal LLM inference via Ollama
DiscordDiscord bot integration for remote control
TelegramTelegram bot integration for remote control
WhatsAppWhatsApp integration for remote control
ElevenLabsText-to-speech via ElevenLabs API
System TTSLocal text-to-speech using system voices
Whisper LocalLocal speech-to-text via Whisper model
VoiceAIVoice AI pipeline for natural voice interaction

Other

PluginDescription
Scenes LocalLocal scene execution engine
Rotating File LoggerFile-based logging with automatic rotation
SimulatorDevice simulator for testing and development

What’s Next?

Last updated on