Guide technique¶
Cette section couvre l'architecture, les APIs, le développement et l'exploitation de Sowel.
Vue d'ensemble¶
Sowel suit un pipeline réactif piloté par les événements :
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"
→ Recipe Engine (triggers → conditions → actions)
→ Actions may emit Orders → Integration Plugin → device
→ WebSocket pushes to UI clients
Depuis la spec 053, tout est plugin : les intégrations et les recettes sont distribuées depuis GitHub via le service PackageManager. Il n'y a plus aucune intégration intégrée dans src/.
Sections¶
| Section | Description |
|---|---|
| Architecture | Conception système, plugin V2, auto-update, backup, CI/CD, logs |
| Déploiement | Déploiement en production, mises à jour, backup/restore, dépannage |
| Référence API | Endpoints REST et événements WebSocket |
| Développement de plugins | Comment créer des intégrations plugin tierces |
| Développement de recettes | Comment créer des paquets de recettes d'automatisation |
| Modèle de données | Schéma SQLite, types TypeScript, événements du bus |
| Contribuer | Mise en place de l'environnement, conventions et workflow |
Index des specs¶
Pour une liste chronologique de chaque spec avec un résumé d'une ligne et son statut, voir ../specs-index.md.