How akentner/homeassistant-addons works
This is a Home Assistant add-on monorepo: its add-ons provide user-facing services rather than one shared application. The graph preserves the README’s documented product capabilities and shows the principal paths from add-on users or operators to results. The admin UI and HAOS Monitor include sampled runtime wiring; most other add-ons are represented at their documented subsystem level because their implementation was not sampled. Edges use README evidence where applicable, so implementation details of those add-ons remain unspecified.
Main entry points: main.py Host monitor · web/server.py Monitor web API · queue.go Run execution · skeleton/server.py Ingress web server
Components 31
Admin interfaces
- Admin UI app
admin-ui/app/main.py - Ingress web server
admin-ui/app/web/skeleton/server.py - Request router
admin-ui/app/web/skeleton/router.py - Static asset serving
admin-ui/app/web/skeleton/static.py - Admin frontend
admin-ui/app/web/static/app.mjs
Monitoring and diagnostics
- Host monitor
haos-monitor/app/main.py - Monitor web API
haos-monitor/app/web/server.py - Host configuration
haos-monitor/app/hosts.py - Host status
haos-monitor/app/status.py - Incident history
haos-monitor/app/incidents.py - Monitor dashboard
haos-monitor/app/web/static/app.mjs - Gatus monitoring
gatus
Home services
- Markdown renderer
markdown-renderer - Phone logger
phone-logger - Network tools
network-tools - CUPS print server
cups - LiteLLM gateway
litellm/run_litellm.py - Secrets sync
secrets-sync - Bundled PostgreSQL
litellm
Infrastructure automation
- IaC operator
- IaC HTTP API
iac-runner/internal/httpapi/handlers/plan.go - Repository checkout
iac-runner/internal/git/manager.go - Run execution
iac-runner/internal/jobq/queue.go - State backends
iac-runner/internal/statebackend - Run records
iac-runner/internal/runs/store.go
Other components
- Home Assistant user
- Git repository
- OpenTofu / Terraform
- R2, S3, or local state
- Home Assistant REST sensor
- LLM clients
Connections 29
- Home Assistant user → Admin UI app: opens UI
admin-ui/app/main.py - Admin UI app → Ingress web server: starts server
admin-ui/app/main.py - Ingress web server → Request router: dispatches requests
admin-ui/app/web/skeleton/server.py - Ingress web server → Static asset serving: serves assets
admin-ui/app/web/skeleton/server.py - Admin frontend → Ingress web server: calls API
admin-ui/app/web/static/app.mjs - Home Assistant user → Host monitor: views host health
- Host monitor → Monitor web API: starts server
haos-monitor/app/main.py - Monitor web API → Host configuration: loads hosts
haos-monitor/app/web/server.py - Monitor web API → Host status: reads status
haos-monitor/app/web/server.py - Monitor web API → Incident history: reads incidents
haos-monitor/app/web/server.py - Monitor dashboard → Monitor web API: fetches overview
- Host monitor → Host status: records host state
- Host monitor → Incident history: logs incidents
- Markdown renderer → Home Assistant user: serves Docsify pages
- Phone logger → Home Assistant user: integrates with HA
- Network tools → Home Assistant REST sensor: exposes scan results
- CUPS print server → Home Assistant user: shares printers
- LLM clients → LiteLLM gateway: sends API requests
- LiteLLM gateway → Bundled PostgreSQL: stores keys and logs
- Secrets sync → Home Assistant user: writes synced secrets
- IaC operator → IaC HTTP API: triggers plans
- IaC HTTP API → Repository checkout: clones repository
- Repository checkout → Git repository: fetches source
- IaC HTTP API → Run execution: queues run
- Run execution → OpenTofu / Terraform: runs plan or apply
- Run execution → State backends: uses backend
- State backends → R2, S3, or local state: persists state
- Run execution → Run records: records run
- Gatus monitoring → Host monitor: monitors status