Aperçu du projet
Le projet SmartHome Lite est un système domotique distribué développé avec FastAPI, SQLAlchemy et PostgreSQL (données relationnelles et séries temporelles via TimescaleDB), une interface Next.js (App Router, TypeScript, Tailwind CSS) et une application mobile Kotlin avec Jetpack Compose. Il couvre le contrôle des lampes et prises, les règles d'automatisation, la détection de présence et le smart dimming.
Ce projet intègre une authentification JWT, le hachage des mots de passe (bcrypt), la validation Pydantic et un nœud Raspberry Pi avec API Flask et Z-Wave JS UI. L'entrée big-projects/smarthome-lite du dépôt all-my-projects sur GitHub renvoie vers ce dépôt dédié.
Le système est conçu pour une expérience utilisateur fluide sur le web et le mobile, avec des tests automatisés (Pytest), des graphiques de présence et de luminosité, et une documentation détaillée (README) et les captures présentées dans la galerie ci-dessous.
Fonctionnalités principales
Gestion des appareils et tableau de bord
Contrôle ON/OFF et luminosité des lampes, gestion des prises et vue centralisée des équipements depuis le web et le mobile.
Détection de présence et historique
Capteur Z-Wave (ex. MultiSensor 7), remontée des événements vers le backend et historique pour analyse et règles.
Moteur IF-THEN et scénarios
CRUD des règles, évaluation automatique et scénarios prédéfinis pour enchaîner actions et conditions.
Intelligence artificielle et smart dimming
Classification de scénarios, régression pour l'intensité, clustering des habitudes (parcours documenté) et adaptation à la luminosité ambiante.
Visualisation et supervision
Graphiques de présence et de luminosité, suivi des mesures et des ajustements automatiques sur le dashboard Next.js et l'app Android.
Passerelle Raspberry Pi et Z-Wave
API Flask locale, intégration Z-Wave JS UI (Socket.IO / WebSocket) et contrat HTTP aligné avec le backend pour piloter les nœuds radio.
Galerie du projet
Tableau de bord web
Administration
Application mobile (Kotlin)
Supervision
Smart dimming
Panneau de contrôle Z-Wave
API
Intelligence artificielle
Dépôt Git (branches)