Overview
Discover what makes ioBroker powerful
ioBroker is a modular, event‑driven integration platform that orchestrates heterogeneous IoT devices and services. At its core it exposes two logical databases—**objects** (meta‑data, configuration) and **states** (runtime values)—and relies on a publish/subscribe mechanism to propagate changes across adapters. The platform is built around the principle that any system can be represented as a set of objects and states, enabling seamless interoperability without vendor lock‑in.
Runtime
Primary Database
Adapter Execution
Communication
Overview
ioBroker is a modular, event‑driven integration platform that orchestrates heterogeneous IoT devices and services. At its core it exposes two logical databases—objects (meta‑data, configuration) and states (runtime values)—and relies on a publish/subscribe mechanism to propagate changes across adapters. The platform is built around the principle that any system can be represented as a set of objects and states, enabling seamless interoperability without vendor lock‑in.
Technical Stack
- Runtime: Node.js (≥12) on any OS that supports it (Linux, Windows, macOS, ARM).
- Primary Database: In‑memory JavaScript objects persisted to disk via a lightweight JSON/SQLite backend; optional Redis for distributed caching and message brokering.
- Adapter Execution: Each adapter instance runs in its own Node.js process, isolated via the OS. This design isolates failures and allows independent scaling of adapters based on memory footprints (≈10–60 MB per instance).
- Communication: Zero‑MQ style event bus under the hood, but exposed through a simple REST/WS API for external clients.
Core Capabilities
- Adapter Ecosystem: Over 600 adapters covering protocols such as MQTT, HTTP, Zigbee, KNX, Modbus, and many proprietary APIs. Adapters are published as npm packages (
iobroker.<name>) and can be written in any language that can open a TCP socket to the controller. - State & Object API:
getObject,setState,subscribeForeignObjectsand similar calls allow fine‑grained control over data flow. - Event Bus:
onStateChangeandpublishenable reactive programming patterns across adapters. - Web UI & REST: A single‑page React admin panel plus a JSON‑based REST API for programmatic access.
- Security Hooks: TLS termination, JWT support for the web UI, and role‑based ACLs on objects/states.
Deployment & Infrastructure
- Self‑Hosting: The controller can run on a Raspberry Pi, Docker host, or cloud VM.
- Containerization: Official Docker images (
iobrokerjs-controller) expose environment variables for Redis URI, logging level, and adapter auto‑start lists. - Scalability: While a single controller is sufficient for most home setups, multiple controllers can be chained via Redis clustering to distribute load and provide high availability.
- Resource Constraints: Memory is the primary limiter; careful adapter selection and pruning of unused adapters keep RAM usage low.
Integration & Extensibility
- Plugin System: Adapters are the primary extension point; developers can fork existing adapters or create new ones following the
iobroker.adaptertemplate. - Webhooks & Scripting: Built‑in JavaScript scripting engine (
ioBroker.visandioBroker.automation) allows custom logic without external services. - External APIs: The controller exposes a WebSocket endpoint for real‑time data, and the REST API can be wrapped by custom middleware or consumed by third‑party dashboards.
Developer Experience
- Documentation: Comprehensive guides on the official site, an active forum, and GitHub issues for adapters.
- CLI Tooling:
iobrokercommand provides instance management, logs, and configuration export/import. - Community: A vibrant ecosystem of adapter maintainers and a dedicated discussion board ensure rapid issue resolution.
Use Cases
- Smart Building Automation – Centralized control of HVAC, lighting, and security systems via adapters for KNX, BACnet, and Zigbee.
- Energy Management – Real‑time metering from smart meters, combined with historical logging and analytics.
- Ambient Assisted Living – Sensors (motion, temperature) feed into a dashboard that triggers alerts or automations for elderly care.
- Industrial Process Monitoring – Modbus and OPC UA adapters feed sensor data into ioBroker, where custom scripts generate alarms or feed into MES systems.
Advantages
- Language‑agnostic adapters: Any system can be connected without rewriting core logic.
- Low licensing cost: Open source under MIT; no vendor lock‑in or subscription fees.
- Rapid prototyping: The in‑memory database and event bus allow developers to iterate quickly on logic before deploying to production.
- Strong community backing: Frequent updates, security patches, and a rich adapter catalog reduce integration effort.
Overall, ioBroker offers developers a lightweight yet powerful framework to glue together disparate IoT ecosystems, providing fine‑grained control over data flow while remaining highly portable and secure.
Open SourceReady to get started?
Join the community and start self-hosting ioBroker today
Related Apps in cloud-platforms
Home Assistant
Open-source smart home hub for automation and integration
Caddy
Secure, auto‑TLS web server for every site
Traefik
Dynamic reverse proxy and load balancer for microservices
Pi‑hole
Network‑wide ad blocking with your own DNS server
CasaOS
Your Personal Cloud OS for Docker-based home servers
AdGuard Home
Network‑wide ad and tracker blocker
Weekly Views
Repository Health
Information
Tags
Explore More Apps
The Lounge
Modern, always‑connected web IRC client
Alf.io
Open‑source ticketing for privacy‑first events

Baserow
Collaborative data platform for secure, no-code apps

b1gMail
Self-hosted PHP email platform with calendar, tasks and cloud drive
Mistborn
Self-hosted cloud-platforms

SIP3
Real‑time VoIP and RTC traffic monitoring
