Domus Mind
Home automation self-hosted con AI naturale via Ollama, Home Assistant compatible
- Stato
- WIP
- Licenza
- MIT
- Categoria
- AI Infrastructure
- Aggiornato
Stato del progetto
Descrizione
Domus Mind è un sistema di home automation self-hosted che combina la compatibilità con Home Assistant (integrazione passiva via API o sostituzione completa, a scelta utente) con uno strato di orchestrazione AI naturale basato su Ollama on-prem. La differenza con Home Assistant standard non è il controllo dispositivi (Z-Wave, Zigbee, MQTT, Wi-Fi smart plug funzionano allo stesso modo), ma l'interazione: invece di configurare automazioni con YAML editor o Node-RED, l'utente parla in linguaggio naturale ('quando piove e sono in casa, chiudi tutte le tapparelle del primo piano, ma lascia quella della cucina aperta a metà perché ho le piante') e l'LLM (llama3.1:8b o qwen2.5:14b a scelta) traduce in automation rules persistite nel motore. L'architettura combina: Angular 21 SSR frontend con dashboard standalone components, Spring Boot 3 backend che orchestra device controllers e LLM gateway, Ollama on-prem (CPU o GPU consumer, no cloud), MQTT broker (Mosquitto) per device messaging, PostgreSQL per stato persistente (rules, devices, history), Redis per cache real-time stato dispositivi. La sicurezza è priority: l'LLM gira on-prem (nessuna chiamata cloud), comandi vocali processati localmente con whisper.cpp opzionale, MFA per accesso amministrativo, audit log delle decisioni AI (utile per troubleshooting 'perché la luce si è spenta?'). Il differentiator vs Home Assistant: AI-first interaction, MIT license (Home Assistant è Apache 2 ma plugin ecosystem è frammentato), allineamento Angular 21 SSR moderno (HA è Polymer/lit-element legacy), focus su privacy assoluta (no opt-in telemetry, no analytics). Deploy target: hobbyisti tech con homelab, sviluppatori che amano smart home ma odiano YAML, famiglie tech-savvy che vogliono assistente vocale on-prem. La filosofia è 'AI-native automation, on-prem first': l'AI è il primary interface, non un add-on.
Funzionalità chiave
AI naturale via Ollama on-prem
LLM llama3.1:8b o qwen2.5:14b a scelta, prompt engineering per traduzione frase → automation rule, no chiamate cloud.
Home Assistant compatible
Integrazione passiva via HA REST API o sostituzione completa (dual mode), import device da HA config YAML.
Z-Wave + Zigbee + MQTT support
Adapter Z-Wave JS UI, zigbee2mqtt, MQTT broker Mosquitto, Wi-Fi smart plug Tasmota/ESPHome, IR via Broadlink.
Dashboard Angular 21 SSR
Standalone components, signals, OnPush, dashboard responsive con room view + device control + activity timeline.
Voice control whisper.cpp opzionale
Comandi vocali processati on-prem con whisper.cpp (CPU sufficient), wake-word personalizzabile via openWakeWord.
Audit log decisioni AI
Ogni automation triggered logga il prompt LLM input, output rule generata, devices command issued — utile per troubleshooting.
Multi-user con MFA
Account multipli (admin, user, guest), MFA opzionale (TOTP), permission granulare per device/room.
Plugin system Java
Plugin Java per estensioni (custom device adapter, custom AI prompt template), hot-reload in dev mode.
Tech stack
- Home Assistant (compatible)
- Ollama
- Angular 21
- Spring Boot 3.4
- MQTT (Mosquitto)
- Z-Wave JS
- zigbee2mqtt
- PostgreSQL 16
- Redis
- whisper.cpp
Casi d'uso
- Hobbyisti tech con homelab che vogliono AI-native smart home senza dipendere da cloud Alexa/Google
- Sviluppatori che amano smart home ma odiano configurare automazioni YAML manualmente
- Famiglie tech-savvy che vogliono assistente vocale on-prem per privacy (no Alexa always-listening)
- Maker che integrano dispositivi DIY (ESPHome, Tasmota) e cercano dashboard moderna unificata
Roadmap
- v0.1.0 Pianificata
Core: MQTT + Dashboard + Device adapter base
- MQTT broker setup + Tasmota/ESPHome adapter
- Dashboard Angular base con room view
- PostgreSQL stato persistente
- Setup wizard CLI + web
- v0.5.0 Pianificata
AI orchestration + Z-Wave/Zigbee
- Ollama integration + prompt template
- Frase naturale → automation rule
- Z-Wave JS UI + zigbee2mqtt adapter
- Audit log decisioni AI
- v1.0.0 Pianificata
Voice + HA compatibility + Plugin system
- whisper.cpp voice control opzionale
- HA REST API integration passiva
- Plugin system Java + hot-reload
- Documentazione MkDocs + community setup guide
A chi è rivolto
Quick Start
Avvia il progetto localmente in pochi comandi.
# Quick start (work-in-progress, repo non ancora pubblicato)
# git clone https://github.com/<tba>/domus-mind.git
# cd domus-mind
# ollama pull llama3.1:8b
# docker compose up -d # mosquitto + postgres + redis + domus-mind
# # Apri http://localhost:8090 e completa setup wizardContribuisci al progetto
Domus Mind è open source. Apri una issue, proponi una pull request o lascia una stella su GitHub: ogni contributo, anche piccolo, è benvenuto.
- ⭐ Lascia una stella se ti è utile
- 🐛 Segnala bug o proponi feature via issue
- 🔧 Invia pull request con fix o miglioramenti
- 📣 Condividi il progetto se lo trovi interessante