Homely Vibes - IoT Home Automation

A comprehensive home automation and monitoring system with Python-based IoT integrations, ML-powered analytics, and smart device management.

πŸ’» View on GitHub

Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/abutala/homely-vibes.git
cd homely-vibes

# Setup development environment (installs dependencies and git hooks)
make setup

# Or manual setup:
uv sync
pre-commit install

Development

# Run all tests
make test
make lint           # Check code quality

# Code formatting and linting
make lint-fix        # Fix all linting issues

# Run specific services (see individual folder READMEs for details)
uv run python Tesla/manage_power_clean.py
uv run python RachioFlume/rfmanager.py

Configuration & Secrets

All sensitive data (API keys, passwords, tokens, device IPs) must be stored in config/local.yaml, which is gitignored and never committed to the repository.

Setup

  1. Copy the template and fill in your values: bash cp config/local.yaml.example config/local.yaml # Edit config/local.yaml with your actual credentials and device IPs

  2. The config/default.yaml file contains safe placeholder values and is committed to git.

  3. Never hardcode secrets or device IPs in source code or tests. Always read from config: python from lib.config import get_config cfg = get_config() api_key = cfg.rachio.api_key # βœ… Good # api_key = "abc123..." # ❌ Never do this

What goes in local.yaml

See config/default.yaml for the full structure and config/local.yaml.example for a template.

Project Components

Component Description Documentation
πŸ” August August Smart Lock monitoring with automated unlock alerts and pushover notifications for home security. πŸ“– README
πŸ€– BimpopAI RAG (Retrieval Augmented Generation) system with AI voice assistant, indexing, and Streamlit frontend. A startup concept for business intelligence in Mom-n-Pop stores. πŸ“– README
🌐 BrowserAlert Web usage monitoring and alerting system for tracking browsing activity and digital wellness. πŸ“– README
πŸš— GarageCheck Machine learning-based garage door status detection using image classification and computer vision. πŸ“– README
πŸ—ΊοΈ GPXParser GPX track analysis and processing tools for GPS data visualization and route analysis. πŸ“– README
πŸ› οΈ lib Shared utilities: OmegaConf config, Pushover / Mailer / Twilio, atomic secret I/O, POSIX file lock. Used by every module. -
🌐 NetworkCheck Network uplink speedtest with outcome-driven Pushover priority and external IP reporter. πŸ“– README
πŸ–₯️ NodeCheck System node monitoring with continuous heartbeat tracking and automated device management. πŸ“– README
πŸ“΅ NoShorts iOS app that wraps YouTube and strips all Shorts content via JS injection β€” clean YouTube without vertical video. πŸ“– README
πŸ“… PersonalCalSync Google Apps Script that syncs personal calendar events to enterprise calendar as private busy-blockers, preserving real event titles visible only to you. πŸ“– README
πŸ’§ RachioFlume Water usage tracking integration between Rachio irrigation systems and Flume water monitoring. πŸ“– README
🚿 Rheem Rheem/EcoNet water heater monitor β€” P2 when the tank is empty, P1 at 1/3rd full, silent clear at 2/3rds. Cron run-once via the unofficial pyeconet (ClearBlade) API. πŸ“– README
🚨 RingBeams Ring Beams motion sensors + Ring Alarm contact/motion sensors, via Node.js sidecar over socket.io (ring-client-api). P1 battery, P0 tamper. πŸ“– README
πŸ“Έ RingSecurity Ring cameras + doorbells daily health check via REST β€” P1 low-battery, P0 offline. πŸ“– README
πŸ–ΌοΈ SamsungFrame Samsung Frame TV art manager with batch upload, HEIC conversion, and slideshow control. πŸ“– README
⚑ Tesla Tesla Powerwall monitoring and intelligent power management automation for home energy optimization. πŸ“– README
πŸŽ™οΈ VoiceNotes Wispr Flow-style local push-to-talk voice transcription on macOS. Hold βŒ₯-right, speak, release β€” text streams to Markdown via whisper.cpp + Metal. No cloud. πŸ“– README
πŸ—’οΈ VSCodeSidebarNotes VS Code / Cursor extension: markdown sidebar that persists across restarts and is writable by Claude for live session summaries. πŸ“– README