# AI-Managed Smart Home Local-first, open-source smart home: Home Assistant + Zigbee + RuView (CSI presence) + Bermuda (BLE identity) + local LLM (Ollama) + Frigate (peephole face recognition) + Grocy (kitchen kiosk) + Nextcloud calendar sync. See [`docs/project-plan.md`](docs/project-plan.md) for the full hardware list, software stack, and phased implementation plan. ## Repo layout ``` docs/ Project plan and design notes hosts/ container-host/ Docker Compose stack: HA, Mosquitto, Zigbee2MQTT, Frigate, Grocy, Node-RED, monitoring, etc. configs/ Per-service config files (mosquitto.conf, etc.) scripts/ Host setup / bootstrap scripts llm-host/ Ollama + GPU host setup (separate physical machine) firmware/ ruview/ RuView ESP32-S3 CSI presence node configs esphome-ble-proxy/ ESPHome configs for Bermuda BLE proxy nodes identity/ Face<->MAC<->name correlation logic (Node-RED flow export once stabilized, or a Python service) ``` ## Status - [x] Project plan drafted - [x] Container host setup script v1 (HA, Mosquitto, Zigbee2MQTT USB, Frigate, Grocy) - [x] Node-RED + monitoring (Netdata) + dashboard (Homepage) + ntfy + Portainer added to compose stack - [x] Backup (restic) setup — scripted, off by default until a backup target is picked (`ENABLE_BACKUPS`) - [ ] Bermuda / ESPHome BLE proxy configs - [ ] RuView node configs - [ ] Frigate peephole camera config (real RTSP details) - [ ] Grocy kiosk (Pi + touchscreen) setup - [ ] LLM host (Ollama) setup script - [ ] CalDAV / Nextcloud calendar integration notes - [ ] Identity correlation flow (Node-RED) ## Quick start ```bash cd hosts/container-host/scripts sudo ./setup-container-host.sh ``` Edit the variables at the top of the script first (timezone, Zigbee USB device path, Mealie/hardware-accel toggles, and whether to enable Node-RED/Netdata/ Homepage/ntfy/Portainer and restic backups — all but backups are on by default). See `docs/project-plan.md` for the full phased rollout order — don't skip straight to Phase 4+ automations before the Phase 2 reactive baseline (presence -> light, no LLM in the loop) is working. The script brings up everything that runs on this one Debian host: Home Assistant, Mosquitto, Zigbee2MQTT, Node-RED, Frigate, Grocy, Netdata, a Homepage dashboard, ntfy, and Portainer, plus an optional scheduled restic backup timer. What it can't do for you, because they need separate hardware, credentials, or physical setup: pairing Zigbee sensors, flashing RuView/ESPHome/Bermuda BLE proxy boards, pointing Frigate at a real camera RTSP URL, the Grocy kiosk touchscreen, the separate LLM/GPU host, and wiring up the Nextcloud CalDAV integration — see the Status checklist above and `docs/project-plan.md` for those.