# home-assistant Source of truth for the Home Assistant automations on the HA server at `192.168.128.3:8123`. The automations live in [`automations/`](automations/) as YAML and are deployed to HA over its REST config API with [`deploy.py`](deploy.py). HA is only a deploy target — it never reads these files directly. See [`AUTOMATIONS.md`](AUTOMATIONS.md) for the full spec (identity model, per-rule behavior, failure modes, changelog). ## Access The HA API token is read from the shell environment: ```bash source ~/.bashrc # exports HA_API_KEY ``` The `README`'s original `pass show home-assistant/192.168.128.3/jm/api` route works interactively but requires a YubiKey touch and times out in non-interactive shells, so `HA_API_KEY` in `~/.bashrc` is the practical source. ## Deploy ```bash source ~/.bashrc python3 deploy.py --check # parse only python3 deploy.py # deploy all automations/*.yaml in place (by id) ``` ## Remotes | Name | URL | Role | |---|---|---| | `origin` | `ssh://forgejo@forgejo.jmopines.com:2222/jm/home-assistant.git` | **primary** (fetch + push) | | `backup` | `git@github.com:jmtremblay2/home-assistant.git` | GitHub backup mirror (push only) | **`origin` is configured with two push URLs**, so a plain `git push` mirrors to **both** Forgejo and GitHub in one command — the GitHub backup stays current automatically. Fetches still come only from Forgejo. ```bash git push # -> Forgejo AND GitHub (backup) together ``` The separate `backup` remote is kept for explicit/manual use (e.g. `git fetch backup`). To inspect the push targets: `git remote -v`. This auto-mirror is a local git config (`remote.origin.pushurl`), not stored in the repo, so it must be re-added after a fresh clone: ```bash git remote set-url --add --push origin ssh://forgejo@forgejo.jmopines.com:2222/jm/home-assistant.git git remote set-url --add --push origin git@github.com:jmtremblay2/home-assistant.git ```