adaptive-lighting/webapp/README.md
Casey bba0ef31d8 Delete upstream docs apparatus; rewrite README for the fork
The CDiT fork is single-household and was carrying an entire upstream
docs/ mkdocs site documenting features the fork has removed (sleep mode,
take-over-control, brightness_mode selector, YAML config). The README
mostly auto-generated from those pages via markdown-code-runner.

What's gone:

- docs/ — all 11 pages + assets + run_markdown_code_runner.py
- .github/workflows/docs.yml — zensical+shinylive GitHub Pages build
- .github/workflows/markdown-code-runner.yml — auto-edit of README from docs/
- .github/update-services.py / update-strings.py — would clobber the
  hand-edited services.yaml / strings.json
- scripts/update-generated-content — orchestrator for the above
- custom_components/adaptive_lighting/_docs_helpers.py + docs_gen.py —
  only used by the deleted markdown-code-runner
- zensical.toml — docs-site config
- "docs" dependency group in pyproject.toml (markdown-code-runner,
  shinylive, zensical, etc.) + lock regenerated

What's new:

- README.md rewritten to describe the fork's actual surface — 3 switches,
  4 number entities, 3 sensor entities per profile, 2 services (apply +
  change_switch_settings), entry-only setup, UI tuning, sun source.
  Preserves the existing "What's new in 2.1" / "2.2" block quotes.
- webapp/README.md annotated to flag the Shiny simulator models the
  upstream curve (with brightness_mode, sleep mode, etc.) and does not
  reflect the fork.
- CLAUDE.md command table no longer references update-generated-content.

Sensor.py + test_sensor_platform.py: incidental black reformat from the
lint pass (multi-arg function calls split per line).

Tests still pass (123/123). Lint clean. Sensors implementation
unchanged.
2026-05-21 10:23:04 +02:00

921 B

⚠️ Not used by the CDiT fork

This Shiny webapp is the upstream Adaptive Lighting simulator. It models the upstream curve (with brightness_mode, brightness_mode_time_*, sleep mode, etc.) — features the CDiT fork has removed.

The CDiT fork uses a fixed-tanh curve with a hardcoded 30-minute half-width, anchored at the user's configured sunrise_entity / sunset_entity. The simulator's outputs will not match what the integration computes.

Kept here for upstream-merge hygiene. Not built or deployed by the fork's CI. See ../README.md for the fork's actual behavior.


To run this app locally, install the requirements and run shiny run.

$ cd webapp
$ pip install -r requirements-dev.txt
$ shiny run

After the server starts, which should take only a moment, you can open http://127.0.0.1:8000 to see the interface.