ha-config-public
Real-world Home Assistant configuration — modular packages, lighting standards, motion-aware rooms, presence detection
claude mcp add mfrethy-oneandall-ha-config-public
How to use
ha-config-public is a real-world Home Assistant configuration managed as code. It organizes automations, dashboards, and presence/lighting work into modular packages under the packages directory, enabling you to maintain and deploy a consistent HA setup via versioned code. The repository also includes Samuel, an AI-assisted observation layer that analyzes Home Assistant state and suggests actions, though it requires explicit human confirmation before any automation is executed. To explore and reuse this setup, begin by inspecting the packages and docs directories to understand how lighting standards, motion-aware rooms, and presence detection are implemented. Use the provided push/pull tooling to synchronize changes with your Home Assistant instance: pull the latest configuration from HA, review it locally, and push updates back to HA with an optional dry-run first. The YAML-based Lovelace dashboard is defined in code (ui-lovelace.yaml), and configuration.yaml loads the modular packages via include statements, so changes at the package level automatically propagate through the system.
How to install
Prerequisites:
- A running Home Assistant instance and SSH access to your HA host
- Git installed on your development machine
- Basic familiarity with the repository structure (packages/, docs/, tools/)
-
Clone the repository: git clone https://github.com/your-org/ha-config-public.git cd ha-config-public
-
Review environment and tooling:
- Inspect tools/.env.example and copy to tools/.env, filling in your HA connection details as needed
- Ensure you have SSH access configured for pull/push operations described in the Quick Start
-
Local exploration (optional):
- Open packages/ to review individual automation modules
- Review ui-lovelace.yaml for the dashboard layout and views
- Read docs/ for architecture, lighting standards, and presence models
-
Synchronize with Home Assistant:
- Pull latest configuration from HA: bash tools/pull_from_ha.sh
- Review changes locally, then push to HA (dry-run first): bash tools/push_to_ha.sh --dry-run bash tools/push_to_ha.sh
-
After pushing, reload configurations in Home Assistant (Developer Tools → YAML → Check Configuration → Reload)
Notes:
- This repository uses a modular, package-based approach. To customize, update or replace the relevant YAML files under packages/ and adjust configuration.yaml to load them.
- The Samuel AI layer is included as part of the architecture; review docs/what_samuel_does.md and docs/what_samuel_does_not_do.md for boundaries and usage patterns.
Additional notes
Tips and caveats:
- Ensure your own entities replace placeholder IDs before deploying to production.
- The lighting standards rely on input_number helpers rather than hardcoded values; customize these per room as needed (see docs/lighting_standards.md).
- If you enable Samuel, remember it only provides suggested actions and requires explicit human confirmation to execute automations.
- The repository uses YAML-mode Lovelace dashboards defined in code; to customize layouts, edit ui-lovelace.yaml and reload the UI.
- Environment variables for tools (tools/.env) should be kept secure and not committed to the repository. Follow the example to populate necessary credentials and host information.
Related MCP Servers
code-mode
🔌 Plug-and-play library to enable agents to call MCP and UTCP tools via code execution.
mysql_mcp_server
A Model Context Protocol (MCP) server that enables secure interaction with MySQL databases
hass
Home Assistant MCP Server
skill-to
Convert AI Skills (Claude Skills format) to MCP server resources - Part of BioContextAI
hass
A Home Assistant Custom Component that provides an MCP (Model Context Protocol) server using HTTP transport, allowing AI assistants like Claude to interact with your Home Assistant instance over HTTP
Convert-Markdown-PDF
Markdown To PDF Conversion MCP