Skip to content

docs: document the OTA / reflash procedure - #13

Merged
basmeerman merged 2 commits into
mainfrom
docs/update-procedure
Jun 26, 2026
Merged

basmeerman merged 2 commits into
mainfrom
docs/update-procedure

Conversation

@basmeerman

Copy link
Copy Markdown
Owner

Summary

Documents how to ship a new firmware version to the device, in all three docs that describe workflow:

  • README.md — user-facing "Updating the device" section after Quick start.
  • CLAUDE.md — concise "Updating the device" section after Commands.
  • PROJECT_PLAN.md — expanded F5 — OTA updates with the procedure.

Content (consistent across all three):

  • OTA-over-WiFi is the normal path: esphome run fancontrol.yaml --device fancontrol.local (compile + push in one step).
  • Web-UI OTA upload and USB fallback documented.
  • OTA is push-based — the device does not auto-pull from GitHub.
  • ⚠️ Never flash the GitHub Release binaries — they are CI-built with dummy secrets and won't join WiFi; build locally against the real secrets.yaml.
  • secrets.yaml is gitignored and backed up in 1Password.

Docs-only; no firmware change.

🤖 Generated with Claude Code

basmeerman and others added 2 commits June 26, 2026 21:53
Add a consistent "updating the device" section to README.md, CLAUDE.md, and
PROJECT_PLAN.md (F5): OTA-over-WiFi as the normal path
(esphome run --device fancontrol.local), web-UI and USB fallbacks, and a
warning never to flash the dummy-secret GitHub Release binaries. Notes that
OTA is push-based (no GitHub auto-pull) and that secrets.yaml is local /
backed up in 1Password.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@basmeerman
basmeerman merged commit 8e5a015 into main Jun 26, 2026
1 check passed
@basmeerman
basmeerman deleted the docs/update-procedure branch June 26, 2026 20:02
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.

1 participant