Tuya IoT Platform

Best Self-hosted Alternatives to Tuya IoT Platform

A curated collection of the 7 best self hosted alternatives to Tuya IoT Platform.

Cloud IoT platform for manufacturers and developers to build, connect, manage, and operate smart devices and apps. Provides device provisioning, connectivity and lifecycle management, OTA firmware updates, cloud APIs, data services and app/marketplace integration.

Alternatives List

#1
ThingsBoard

ThingsBoard

Open-source IoT platform for device management, telemetry collection, rule-based processing, alarms, and real-time dashboards using standard IoT protocols.

ThingsBoard is an open-source IoT platform for connecting, managing, and monitoring devices while collecting, processing, and visualizing telemetry data. It supports both on-premises and cloud deployments and is designed for scalable, fault-tolerant IoT solutions.

Key Features

  • Device and asset management with entity relationships and server-side APIs
  • Device connectivity via MQTT, CoAP, and HTTP(S)
  • Telemetry ingestion and storage with real-time visualization dashboards
  • Extensible widgets and dashboard building, including SCADA-style dashboards
  • Rule Engine with configurable rule chains for processing, enrichment, routing, and actions
  • Alarms management with propagation across entity hierarchies
  • Multi-tenancy support for tenants, customers, and role-based administration
  • Remote device control via RPC and attribute management

Use Cases

  • Industrial monitoring and SCADA dashboards for operational control
  • Fleet and asset tracking with real-time maps and alerts
  • Smart metering/energy monitoring with threshold-based alarms and reporting

Limitations and Considerations

  • Full functionality (e.g., clustering/microservices capabilities) depends on the chosen deployment mode and supporting infrastructure.

ThingsBoard is well-suited for teams that need a device-agnostic IoT backend with strong visualization, rule-based automation, and multi-tenant support. It provides a solid foundation for building production IoT applications that require reliable ingestion, processing, and operational dashboards.

21.2kstars
6.2kforks
#2
Eclipse Mosquitto

Eclipse Mosquitto

Eclipse Mosquitto is a lightweight, open-source MQTT broker supporting MQTT 5.0 and 3.1.1, plus client libraries and CLI tools for pub/sub messaging.

Eclipse Mosquitto screenshot

Eclipse Mosquitto is an open-source message broker that implements the MQTT protocol (MQTT 5.0, 3.1.1, and 3.1). It is designed to be lightweight and efficient, making it suitable for IoT-style publish/subscribe messaging from small devices to full servers.

Key Features

  • MQTT broker with support for MQTT v5.0, v3.1.1, and v3.1
  • TLS support for encrypted client connections
  • Authentication options including username/password and pluggable security extensions
  • Access control via ACLs to restrict topic publishing and subscribing
  • WebSockets support for MQTT clients in web environments (optional build feature)
  • Includes client utilities (mosquitto_pub, mosquitto_sub) and C/C++ client libraries

Use Cases

  • IoT messaging backbone for sensors, gateways, and embedded devices using pub/sub
  • Smart home and industrial telemetry aggregation and command distribution
  • Lightweight MQTT broker for development, testing, and internal messaging systems

Limitations and Considerations

  • Advanced enterprise features like clustering and high availability are not part of the core open-source broker
  • Some capabilities (for example, WebSockets or SRV lookups) may require optional build-time dependencies

Mosquitto is a solid choice when you need a small, fast, standards-compliant MQTT broker with strong protocol support and common security mechanisms. It scales from simple local testing to production deployments where reliable MQTT message routing is required.

10.7kstars
2.6kforks
#3
ESPHome

ESPHome

ESPHome generates custom firmware for ESP32/ESP8266 and other boards from YAML, enabling local smart home devices with Home Assistant, API, and MQTT integration.

ESPHome screenshot

ESPHome is an open-source firmware framework that turns supported microcontrollers into configurable smart home devices using simple YAML files. It generates and builds device firmware, then lets you control and monitor devices locally via integrations such as Home Assistant, native API, web interfaces, and MQTT.

Key Features

  • YAML-based configuration for creating custom sensors, switches, displays, and more
  • Broad hardware support via modular components (many sensors, buses, and peripherals)
  • Seamless Home Assistant integration (commonly used via the Home Assistant add-on)
  • Multiple control interfaces including native API, web UI, and MQTT
  • On-device automations for local logic and reduced dependency on a central controller
  • Over-the-air (OTA) firmware updates for remote maintenance
  • Local-first operation designed to work without cloud dependencies

Use Cases

  • Build DIY smart home sensors (temperature, air quality, presence) and actuators (relays, lights)
  • Deploy locally controlled smart devices for homes and small commercial installations
  • Prototype and standardize firmware for hardware products targeting ESPHome ecosystems

Limitations and Considerations

  • Requires flashing compatible hardware and ongoing firmware management practices
  • Hardware feature support varies by chip family and component; some advanced use cases may require custom components

ESPHome is a strong fit for anyone who wants reliable, locally controlled smart home devices without writing embedded C++ from scratch. Its YAML workflow, broad component ecosystem, and OTA updates make it practical for both hobbyist and professional deployments.

10.6kstars
5.1kforks
#4
evcc

evcc

Open-source EV charge controller that optimizes vehicle charging with PV, batteries and dynamic tariffs; supports many chargers, vehicles and smart-home integrations.

evcc screenshot

evcc is an open-source energy management system focused on electric vehicle charging. It controls chargers and smart sockets to maximize PV surplus, use favorable tariffs, and coordinate with home batteries and vehicles.

Key Features

  • Local-first EV charge control that adjusts charging power to PV surplus and dynamic electricity prices.
  • Broad hardware support: many EV chargers, vehicle APIs, inverters, home batteries, smart plugs and energy meters are supported and tested.
  • Protocol and plugin support including OCPP, EEBus, Modbus, SunSpec, MQTT, HTTP/JSON and scriptable extensions for custom devices.
  • Dynamic tariff and price-based scheduling, PV-surplus charging, load management for multi-vehicle and multi-system setups.
  • Responsive web UI with light/dark modes and a public demo instance for exploration.
  • Lightweight Go backend with a TypeScript/Node-based frontend toolchain; designed to run on low-resource devices (Raspberry Pi) or in Docker.
  • Integrations with common smart-home platforms (Home Assistant, openHAB, ioBroker) and vehicle services for SOC, remote charge and preconditioning.

Use Cases

  • Homeowners with PV systems who want to prioritize solar surplus for EV charging and lower grid consumption.
  • Multi-vehicle homes or small installations needing coordinated load management to avoid overloading the connection.
  • Installers, power users and developers evaluating integrations or testing via the public demo and extensive device plugin support.

Limitations and Considerations

  • Initial setup requires intermediate technical knowledge (editing YAML, CLI familiarity) and can be time consuming for complex integrations.
  • The project relies primarily on community channels for support; individual paid support is not directly offered by the core team.
  • Feature availability depends on device APIs and vendor interfaces; some integrations may be partially limited by manufacturer capabilities.

In summary, evcc is a flexible, community-driven EV charge controller and home energy manager designed for local operation and broad device compatibility. It is optimized for PV-first charging scenarios and offers extensible plugins for custom hardware and smart-home integrations.

6.2kstars
1.2kforks
#5
OpenRemote

OpenRemote

OpenRemote is a 100% open-source IoT platform for device management, data dashboards, and automation with rules, APIs, and multi-tenant user management.

OpenRemote screenshot

OpenRemote is a 100% open-source IoT platform for connecting, managing, and monitoring devices and assets. It provides device provisioning, automation rules, and dashboards to analyze and visualize live and historical data, with multi-tenant support for serving multiple customers or organizations.

Key Features

  • Device and asset management with customizable asset types
  • Secure connectivity via APIs and protocol integrations (e.g., MQTT, HTTP/REST, WebSocket)
  • Automation using a rules engine with drag-and-drop flows and scripting (JavaScript and Groovy)
  • Alerts and notifications based on live telemetry and events
  • Dashboard and insights builder for data visualization
  • Multi-tenancy (realms) with users, roles, and restricted access
  • Extensible web components for building custom web apps for installers and end-users

Use Cases

  • IoT manufacturers managing distributed devices with provisioning, monitoring, and updates
  • System integrators unifying multiple on-site systems into a single monitoring and control platform
  • Energy management and smart building scenarios using rules, alarms, and dashboards

Limitations and Considerations

  • Historical attribute data retention is governed by configurable purge policies, which may require tuning for long-term analytics needs

OpenRemote fits teams that need an end-to-end, customizable IoT foundation: connectivity, asset modeling, automation, and visualization in one platform. Its multi-tenant architecture and extensibility make it suitable for both single deployments and solutions delivered to multiple customers.

1.7kstars
410forks
#6
LHA

LHA

Light home automation application in Lua with web UI, Blockly scripting, WoT Thing Description API, MQTT and support for ZigBee/Z-Wave/Hue devices.

LHA is a lightweight, single-process home automation engine written in Lua. It provides a scheduler, an embedded HTTP server and an extensions system to connect gateways, record sensor history and compose automations using Blockly or Lua scripts.

Key Features

  • Single-process Lua engine with built-in scheduler and HTTP server
  • Exposes Thing Description JSON API (Web of Things) for device descriptions
  • Blockly visual scripting plus Lua extensions for advanced automations
  • Web-based UI built with Vue, includes dashboards and charts for historical data
  • Supports gateways and protocols such as Hue/ConBee and Z-Wave (via Z-Wave JS) and integrates with MQTT
  • Records device property values into time-based log files for history and charting
  • Extension system to add device mappings and protocol adapters
  • Very small footprint (~5 MB) and runs on small boards (Raspberry Pi) or general Linux/Windows systems

Use Cases

  • Bridge and orchestrate devices across ZigBee, Z-Wave and Hue ecosystems in a single UI
  • Build custom automations using Blockly or Lua to react to sensor data and control actuators
  • Collect and visualize time-series sensor data locally for home monitoring and analysis

Limitations and Considerations

  • Uses file-based time logs rather than a full database, which may be less convenient for very large datasets
  • Device support depends on extension mapping files; adding or adapting some devices may require editing JSON mappings or writing extensions
  • Single-process architecture and minimal footprint are geared toward small to medium deployments; very large, high-throughput installations may face performance constraints

LHA is suitable for users who want a compact, extensible home automation engine with local control, scripting flexibility and support for common gateway integrations. Its small size and Lua-based extension model make it easy to run on low-power hardware and to customize for specific device sets.

12stars
3forks
#7
FHEM

FHEM

FHEM is a Perl-based open-source home automation server with a modular architecture, web frontends, and broad device protocol support.

FHEM screenshot

FHEM is an open-source Perl-based server for home automation. It runs as a background service and provides device control and monitoring via built-in web frontends, smartphone apps, telnet, or TCP/IP. It supports a wide range of hardware protocols through a modular collection of modules.

Key Features

  • Modular architecture with hundreds of modules to support a wide range of devices and services.
  • Multiple frontends and interfaces, including web, mobile frontends, telnet, and TCP/IP, with JSON/XML support.
  • Autocreating devices and logs as new data arrives, reducing manual setup.
  • Flexible logging options (files or databases) with optional filters.
  • Event-driven automation: trigger external programs or scripts on device events.
  • Timed and scheduled commands and time-based actions (e.g., lights based on sunset).
  • Active community, comprehensive documentation, and a development repository.

Use Cases

  • Automate household tasks such as lighting, blinds, heating, and sensor monitoring.
  • Integrate with a broad set of protocols and devices (HomeMatic, KNX, Z-Wave, EnOcean, etc).
  • Run on a self-hosted server (e.g., NAS, Raspberry Pi) with local data storage for privacy.

FHEM is a long-running, Perl-based home automation server with broad device support and a modular, pluggable architecture.

Why choose an open source alternative?

  • Data ownership: Keep your data on your own servers
  • No vendor lock-in: Freedom to switch or modify at any time
  • Cost savings: Reduce or eliminate subscription fees
  • Transparency: Audit the code and know exactly what's running