PP Melih CETINKAYA
MELIH C.
hamburger menu hamburger menu close

SmartHome Lite

Domotique distribuée avec FastAPI, Next.js et Kotlin / Jetpack Compose, capteurs Z-Wave et pipelines ML.

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

Technologies utilisées

Python
FastAPI
Flask
PostgreSQL
SQLAlchemy
Next.js
React
TypeScript
Tailwind CSS
Kotlin
Jetpack Compose
Raspberry Pi
Z-Wave
VS Code
Git
GitHub