Ryan Malloy 4ec43b269f Images: wordmark hero + four HA screenshots scattered through pages
src/assets/manual/omnipro-ii-wordmark.png
  Lifted from the Owner's Manual cover (Owner_s_Manual_page_1_img_1).
  1280x592, 13KB, 8-bit grayscale. Used as the eager-loaded hero on
  index.mdx via Astro's Image component, with CSS filter:invert(1) so
  the black-on-white wordmark renders crisp on the dark theme.

src/assets/screenshots/  (six PNGs, copied from omni-pca/dev/artifacts):
  01-overview.png            HA Lovelace
  02-integrations-list.png   HAI/Leviton tile in the integrations list
  03-omni-pca-config.png     '1 device, 38 entities' integration page
  04-panel-device.png        Omni Pro II device page with all controls
  05-entities-omni.png       config-entry filtered entity table
  06-developer-states.png    alarm_control_panel.omni_pro_ii_main raw
                             attributes from Developer Tools

Wired into pages:

  index.mdx                       wordmark hero (eager load)
  start/quickstart.md             04-panel-device.png at the bottom of
                                  step 3 so the reader sees the payoff
  reference/ha-entities.md        new 'What it looks like in HA' section
                                  with four screenshots (integrations
                                  list, integration detail, device page,
                                  developer states)

Astro Image processed all screenshots into webp at request size:
  06-developer-states 188 KB -> 91 KB after VP8 encoding.

Build: 13 pages clean in 1.66s, sitemap and Pagefind index regenerated.
Container rebuilt + recreated; verified HTTP 200 with 33315-byte index
page and the /reference/ha-entities/ page references four /_astro/*.webp
URLs that all return 200 from the running container.
2026-05-10 17:15:07 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00
2026-05-10 16:42:12 -06:00

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

Description
Documentation site for warehack.ing/omni-pca. Astro + Starlight, Diátaxis-organized.
Readme 3.2 MiB
Languages
MDX 93.4%
JavaScript 2.7%
CSS 1.5%
Dockerfile 1.3%
Makefile 0.8%
Other 0.3%