Skip to content

docs: refresh project entry points and first-install guides - #37

Merged
flowcool merged 2 commits into
JGAguado:V2R1from
flowcool:docs/public-docs-refresh
Oct 21, 2026
Merged

flowcool merged 2 commits into
JGAguado:V2R1from
flowcool:docs/public-docs-refresh

Conversation

@flowcool

@flowcool flowcool commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

A little repotting for the docs — no extra watering required. 🌱

The README points to missing images, and the first-install guide hides the useful steps between long technical notes. This refresh shows the finished product, makes Label-maker easy to find, and gives new users a continuous path from assembly to their first readings.

README.md                 Product photo and direct start/label/hardware links
docs/source/
  index.rst               Clear documentation entry points
  getting_started.rst     First-install route
  programming.rst         Configure, flash, verify, calibrate and update
  labels.rst              Generate one background and match its gauge scales
  files/lemon-tree-label.json  Ready-to-use, firmware-matched generator input
  faq.rst                 Current setup, display, sleep and battery answers

The instructions match the firmware currently on V2R1. They do not require the pending display changes in #31 or fork-only Maintenance commands. Existing explicit programming/flashing/support anchors are preserved.

Evidence

  • Before: README images target absent Documentation/Images/Top.png and Bottom.png; the FAQ asks users to copy font files although the YAML uses Google Fonts; the label generator is buried in a note.
    After: existing repository product photos render, the label workflow has its own page, and setup instructions match the supplied YAML.
  • Strict Sphinx 8.2.3 HTML build: all 11 pages pass with nitpicky=True, warningiserror=True, original intersphinx mappings and a numeric 5-second inventory timeout. The legacy pinned Sphinx 5.0.2 environment was not exercised.
  • 172 internal HTML links, anchors and image references pass, as do README local targets. All 13 external RST links returned HTTP 200 during preparation.
  • Executed the documented single-label command from Label-maker and generated a label from the downloadable local JSON with YAML-matched gauge ranges: 296 × 128 PNG, visually inspected.
  • ESPHome 2026.9.0 configuration validation passes on an isolated copy of the current upstream standalone YAML with the documented Wi-Fi secrets and generated local image. Test values are synthetic. No firmware upload or hardware test was performed.
  • Original CRLF/LF styles preserved; semantic diff, numstat and git -c core.whitespace=cr-at-eol diff --cached --check pass. Only the seven documentation files above change.
  • AI assistance: Codex helped write the documentation and execute these checks. Claims were checked against the supplied firmware, Label-maker implementation and official ESPHome sources. Browser layout was not tested.

CodeRabbit findings on the fork were also checked: calibration defaults are explicit, and the generator now uses a local, firmware-matched JSON instead of relying on changes in the companion repository. The firmware-tests badge is valid on upstream; the fork uses its own YAML-check badge.

Merge Danger

Door: two-way

Revert the documentation commit to restore the previous pages. Firmware, board files and live devices are unchanged.

Blast Radius: documentation

Navigation and first-install instructions change. The PR introduces no firmware dependency and can be reviewed independently of #31.

@flowcool
flowcool requested a review from JGAguado October 21, 2026 08:33
@flowcool

Copy link
Copy Markdown
Collaborator Author

@JGAguado This one is for you as it's a bit more cosmetic and make it a bit more sexy - need to have an external view on this ;)

@JGAguado JGAguado left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Big improvement to the entry points and first-install path; the referenced images and files all exist. Approving.

@flowcool
flowcool force-pushed the docs/public-docs-refresh branch from b869633 to ead2840 Compare October 21, 2026 15:52
@flowcool
flowcool merged commit 90a3be6 into JGAguado:V2R1 Oct 21, 2026
1 check passed
@flowcool
flowcool deleted the docs/public-docs-refresh branch October 21, 2026 15:54
flowcool referenced this pull request in flowcool/Smart_Plant Oct 21, 2026
…features (#34)

* feat: expose the running ESPHome version and native config hash

* feat: expose the filtered soil voltage without changing calibration

* fix: preserve raw gauge labels while clamping needles

* fix: recover the missing KiCad symbol library from schematic caches

* feat: add transport-independent low-battery protection

* fix: bound standalone display recovery and invalid rendering

* ci: add firmware tests workflow and CODEOWNERS

Run the unit tests and validate the standalone ESPHome configuration on
every PR. CODEOWNERS keeps hardware, documentation and repository
governance paths under maintainer review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: keep low-battery guide focused on user behavior

* docs: remove trailing empty line from battery guide

* fix: keep recovered KiCad symbol libraries LF on Windows

* fix: align core display recovery and support native tests without UBSan

* test: guard shared recovery parity and fresh timer budgets

* test: make battery display recorder format-security safe

* docs: keep recovery compatibility comments shared between entry points

* fix: make public examples self-contained upstream and validate both transports

* Limit test CI checkout credentials

* feat: add retained MQTT maintenance and storage modes

* test: adapt mode checks to merged soil diagnostics and portable libraries

* fix: reconcile maintenance/storage modes with the shared display recovery

Drop the globals duplicated by the #31 merge. Let the parity test accept the
multi-device extensions (fault hook, counter, logs, MQTT status) and the
per-profile sleep_after_display. Bound the flow tests by each profile's
on_display_fault delay.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017fn1KdJJTY7LedVqZ7SxcA

* feat: generate generic label bands from explicit scales and inputs

* ci: install pinned label renderer dependencies for unit tests

* docs: refresh project entry points and first-install guides

* docs: provide firmware-matched label input and clarify defaults

---------

Co-authored-by: J.G.Aguado <jon.garcia.aguado@gmail.com>
Co-authored-by: J.G.Aguado <jon-garcia@hotmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants