The previous homepage opened with prose ('What it is') and listed three
generic 'where to start' cards. New version is more concrete:
- Hero block with three call-to-action buttons (Add to HA, Decode .pca,
Source on Gitea) using Starlight's hero frontmatter
- '## In Home Assistant' section opens with what users actually get,
followed by a 2x2 grid of clickable HA screenshots (integrations
list, integration page, device controls, dev-tools states) — each
thumbnail links to the relevant detail page with a short caption
- '## In Python' section: 15-line OmniClient + events() example so
the library shape is immediately legible, plus four bullets
highlighting opcode coverage / typed dataclasses / mock controller
/ async-first
- '## Two non-public protocol quirks' kept verbatim — still the
headline RE finding
- '## Read the in-depth content' replaces the three generic cards
with six specific ones routing to install how-to, dev-stack
tutorial, protocol reference, quirks explainer, file format,
and journey
Build clean, 23 pages. Local container rebuilt + recreated. The
new sections render: In Home Assistant, In Python, Two non-public
protocol quirks, Read the in-depth content.
hai-omni-docs
Documentation site for omni-pca — a
reverse-engineered Python library and Home Assistant integration for HAI/Leviton
Omni Pro II home automation panels. Built with Astro + Starlight, organised
around the Diátaxis framework.
Live: https://hai-omni-pro-ii.l.warehack.ing
Local development
make install # one-time
make dev # http://localhost:4321 with hot reload
Production build (smoke test)
make ci # runs `npm run build`, output in ./dist
Deploy via Caddy
The container ships its static dist/ from an inner Caddy on :80; the host's
caddy-docker-proxy terminates TLS and routes the configured DOMAIN to it via
the external caddy network.
cp .env.example .env # adjust COMPOSE_PROJECT / DOMAIN as needed
make build
make up # then tails logs
Layout
src/
content/docs/
index.mdx
start/ # Overview + Quick start
tutorials/ # Diátaxis: learning-oriented
how-to/ # Diátaxis: task-oriented
reference/ # Diátaxis: information-oriented (protocol, file format, API)
explanation/ # Diátaxis: understanding-oriented (quirks, architecture, bugs)
journey.md # Chronological retrospective
changelog.md
styles/theme.css # Slate-blue + amber accent
assets/logo.svg
Source project
- Library + integration: https://git.supported.systems/warehack.ing/omni-pca
Description
Languages
MDX
93.4%
JavaScript
2.7%
CSS
1.5%
Dockerfile
1.3%
Makefile
0.8%
Other
0.3%