CCOSTAN/Home-AssistantConfig: a live smart home config to read, not to clone
:house: Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to :star: it. Updated FREQUENTLY!
At a glance
- What is it?
- Bear Stone Smart Home is a personal Home Assistant configuration published for browsing and inspiration. The README states plainly that it is not a turnkey clone-and-run setup, so the value is in the YAML patterns, not in a deployment.
- Who is it for?
- Adopt it as a reading reference if you already run Home Assistant and want to see how one household structures packages, dashboards and camera ingest. Do not adopt it as a base config: the README says it is not turnkey, entity IDs and secrets are personal, and runtime artifacts are gitignored.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 18, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What problem a published Home Assistant config actually solves
Home Assistant gives you primitives, not answers. A person starting out has a config folder, a handful of integrations and no idea how to organise automations once the file passes a few hundred lines. CCOSTAN/Home-AssistantConfig is one household's answer to that organisational problem, published as a live record rather than a template. The README describes it as "a live record of how my smart home runs, with real-world automations, scripts, and scenes" and explicitly frames the repo as "a place to reverse-engineer patterns, not a deployment guide".
The audience is narrow on purpose. This is for someone who already has Home Assistant running and wants to see how another operator splits packages, names entities, wires dashboards and handles camera ingest. It is not for someone who wants a working smart home in an afternoon. The README repeats the point: "If you reuse snippets, adjust entities, secrets, and services to fit your setup."
How the config folder is organised, and what never reaches GitHub
Reusable configuration lives under config/, and the README links a set of sub-indexes: config/README.md, config/packages/README.md, config/automation/README.md, config/script/README.md, config/scene/README.md, config/sounds/README.md and config/packages/triggers/README.md. That structure tells you the author leans on packages, meaning related automations, scripts and sensors are grouped into one YAML file instead of being scattered across top-level automation and script directories.
Runtime artifacts are hidden by .gitignore and are absent from the repository: home-assistant_v2.db and its variants, logs, deps/, .venv/ and backups. The README's instruction is to "look at the YAML and scripts for the actual logic and regenerate your own secrets.yaml". So the public repo shows intent and logic, while state and credentials stay local. The current Home Assistant version is tracked in config/.HA_VERSION, and the README notes the setup "runs on Docker/compose today".
One concrete ingest detail is documented: wyze-bridge runs on docker_10 and Frigate runs on docker_14, consuming Wyze RTSP via 192.168.10.10:8554. That is a real architectural choice, separating the bridge from the recorder so the stream source stays stable.
Reading the config: a first pass through the repo
The README is a browsing guide, not an install guide, and it gives no install steps. What it does give is a set of paths worth opening, and the honest first move is to read them on GitHub rather than deploy anything.
Start with the config index and the package index, since packages are where the interesting logic is grouped:
config/README.md
config/packages/README.mdThe README points at featured examples worth opening first. Infrastructure and WAN monitoring live in config/packages/infrastructure.yaml and config/packages/speedtest.yaml, with a dashboard view at config/dashboards/infrastructure/views/04_wan.yaml. Alarm and perimeter work is in config/packages/alarm.yaml. A Tesla example is in config/packages/tesla_model_y.yaml, described as turning the Model Y's four PSI sensors into an early warning below 40 PSI, naming the tire in a phone alert and offering one-day or three-day snoozes.
config/packages/infrastructure.yaml
config/packages/speedtest.yaml
config/packages/alarm.yaml
config/packages/tesla_model_y.yamlWhat you are looking for is structure: how triggers are named, how conditions are ordered, how notifications are templated. Because entity IDs and secrets are personal, expect to rewrite every entity reference before any of it works in your instance. The README also notes that issues double as a changelog and design history, so browsing them gives the rationale behind a change that the YAML alone does not.
Where this repo stops being useful
The README's own framing is the main limitation. "This is not a turnkey clone-and-run setup" is not modesty, it is a description of the artefact. There is no install path, no supported version matrix beyond config/.HA_VERSION, and no guarantee that a package will load on your Home Assistant release.
Secrets are the second boundary. The repo ships no secrets.yaml, and the README tells you to regenerate your own. If you copy a package verbatim, it will reference entities and services that do not exist on your system, and Home Assistant will fail validation rather than degrade quietly. The README does not document any rollback procedure for a bad configuration change, so treat every copied file as something to test in a separate environment first.
Licence is a third unknown. The repository carries a LICENSE file, but the metadata reports the licence as NOASSERTION, meaning GitHub could not classify it automatically. Read the LICENSE file itself before reusing anything beyond personal reference, and do not assume it matches the licence of Home Assistant or of any integration the config calls.
The alternative: starting from the official docs or a starter config
The obvious alternative is to work from Home Assistant's own documentation and the default configuration generated on first install, building your own packages as you add integrations. The difference in approach is fundamental. Official docs describe the schema and the available options; a starter config gives you an empty but valid skeleton. This repository does the opposite: it shows a finished, opinionated, deeply personal system with years of accumulated decisions, and leaves you to extract the pattern.
A second alternative is a community blueprint or a minimal shared config designed for reuse, where entity IDs are templated and installation is documented. Those trade depth for portability. CCOSTAN/Home-AssistantConfig has the depth and none of the portability, which is exactly what the README claims for it. If you need something you can deploy and maintain as a unit, this is the wrong source.
Maintenance, version drift and what upgrading costs you
The last push was on 2026-09-10, so the repository is being updated. That is a fact about the commit history, not a promise about compatibility. The README states the setup runs on Docker/compose, and the Home Assistant version is tracked in config/.HA_VERSION, so you can compare that file against your own release before assuming a package will load.
Upgrade cost is asymmetric for a reader. You carry none of the author's maintenance burden, but you also get none of the fixes. If a package you copied breaks after a Home Assistant release, you are debugging someone else's YAML against your own entities. The cheaper habit is to read a package, understand the mechanism, and write your own version against your own entity IDs.
On licensing, the repository metadata reports NOASSERTION, so the LICENSE file is the only authority on what you may do with the contents. Read it before you republish a snippet, and check the licence of any external component the config invokes separately.
Editorial conclusion
Adopt it as a reading reference if you already run Home Assistant and want to see how one household structures packages, dashboards and camera ingest. Do not adopt it as a base config: the README says it is not turnkey, entity IDs and secrets are personal, and runtime artifacts are gitignored. Before copying a snippet, check that the entities and services it references exist in your own instance, and regenerate your own secrets.yaml rather than reusing anything from the repository.
Frequently asked questions
How do I access the Home Assistant config folder in this repository?
Reusable configuration lives under config/, and the README links sub-indexes for packages, automations, scripts, scenes, sounds and package triggers. Runtime artifacts such as home-assistant_v2.db, logs, deps/, .venv/ and backups are hidden by .gitignore and do not appear on GitHub.
How do I access the Home Assistant config file in this repo?
The README points readers at the YAML and scripts for the actual logic, starting from the config/ directory and its per-area README files. It also states that you should regenerate your own secrets.yaml rather than expecting one in the repository.
How do I access the Home Assistant config directory in this repository?
The config directory is the entry point the README's quick navigation uses, with further README files under config/packages/, config/automation/, config/script/, config/scene/ and config/sounds/. The README describes the repo as a browsing guide rather than an installation how-to.
Is there a Home Assistant Config Helper for VS Code that applies here?
The repository does not document a VS Code extension or any editor setup. The README describes the project as a browsing guide for a personal configuration, not an installation or tooling guide.
How do I access the Home Assistant config in this repository?
The README recommends looking at the YAML and scripts for the actual logic, since runtime artifacts are gitignored and the repository ships no secrets.yaml. You are expected to adapt entity IDs, secrets and services to your own environment.
Community notes