Technical Guide¶
This section covers the architecture, APIs, and development guides for Sowel.
Overview¶
Sowel follows a reactive event-driven pipeline:
Integration message (MQTT, cloud API poll, plugin)
→ Integration Plugin (receives + parses)
→ Device Manager (updates DeviceData)
→ Event Bus: "device.data.updated"
→ Equipment Manager (re-evaluates bindings + computed Data)
→ Event Bus: "equipment.data.changed"
→ Zone Manager (re-evaluates aggregations)
→ Event Bus: "zone.data.changed"
→ Scenario Engine (triggers → conditions → actions)
→ Actions may emit Orders → Integration Plugin → device
→ WebSocket pushes to UI clients
Sections¶
| Section | Description |
|---|---|
| Architecture | System design, tech stack, project structure |
| API Reference | REST API endpoints and WebSocket events |
| Plugin Development | How to create third-party plugins |
| Recipe Development | How to create automation recipe templates |
| Data Model | SQLite schema, TypeScript types, event bus events |
| Contributing | Development setup, conventions, and workflow |