Skip to content

Add TFT upload status to version event for smarter notifications#28

Merged
edwardtfn merged 5 commits intomainfrom
v9999.99.9
Feb 27, 2026
Merged

Add TFT upload status to version event for smarter notifications#28
edwardtfn merged 5 commits intomainfrom
v9999.99.9

Conversation

@edwardtfn
Copy link
Copy Markdown
Owner

@edwardtfn edwardtfn commented Feb 27, 2026

Fixes #26

When the TFT version doesn't match, the Blueprint shows a generic "Please update TFT" notification. However, if auto-update is enabled (via the Upload TFT add-on), the update will happen automatically after boot — so the message is misleading. This PR enriches the version HA event with additional fields so the Blueprint can show context-appropriate messages:

Scenario Message
Upload TFT add-on not installed "Flash your device including the Upload TFT package"
Add-on installed, auto-update disabled "Click 'Upload TFT' button"
Add-on installed, auto-update enabled "Wait around X sec until TFT is updated automatically"

Summary by CodeRabbit

  • Documentation

    • Added guide for TFT firmware upload add-on configuration and troubleshooting.
  • New Features

    • Added TFT auto-upload capability with configurable settings and manual trigger options.
    • Enhanced version mismatch notifications with installation assistance and remediation steps.
  • Chores

    • Updated blueprint version to 2.

Fixes #26

When the TFT version doesn't match, the Blueprint shows a generic "Please update TFT" notification.
However, if auto-update is enabled (via the Upload TFT add-on), the update will happen automatically
after boot — so the message is misleading. This PR enriches the `version` HA event with additional
fields so the Blueprint can show context-appropriate messages:

| Scenario | Message |
|---|---|
| Upload TFT add-on **not installed** | "Flash your device including the Upload TFT package" |
| Add-on installed, auto-update **disabled** | "Click 'Upload TFT' button" |
| Add-on installed, auto-update **enabled** | "Wait around X sec until TFT is updated automatically" |
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 27, 2026

Warning

Rate limit exceeded

@edwardtfn has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 22 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between b4d0c94 and 5b39a98.

📒 Files selected for processing (3)
  • .github/ISSUE_TEMPLATE/bug.yml
  • docs/addon_upload_tft.md
  • nspanel_easy_blueprint.yaml
📝 Walkthrough

Walkthrough

This PR adds documentation for the Upload TFT Add-on, upgrades the NSPanel Easy blueprint version from 1 to 2, introduces conditional telemetry reporting for TFT addon state, and enhances TFT version mismatch handling with awareness of auto-upload configuration and addon installation status.

Changes

Cohort / File(s) Summary
Documentation
docs/addon_uploat_tft.md
New documentation file detailing the Upload TFT Add-on functionality, including version checking, automatic/manual update workflows, TFT source selection, configuration keys, and troubleshooting guidance.
Telemetry & Configuration
esphome/nspanel_esphome_version.yaml
Added conditional compilation blocks to emit TFT addon state (upload_tft_installed, upload_tft_auto, upload_tft_wait_ms) in version check telemetry when the NSPANEL_EASY_ADDON_UPLOAD_TFT preprocessor flag is defined.
Blueprint Updates
nspanel_easy_blueprint.yaml
Bumped blueprint version to 2, introduced nspanel_full_name centralized display variable, refactored TFT version mismatch handling to include addon installation and auto-upload status awareness, replaced panel name constructions with new variable for consistency across user-facing messages.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 A blueprint blooms with version two,
With docs so clear and addon states that ring true,
TFT uploads now report their way,
While users rest on auto-update's day! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding TFT upload status information to the version event to enable smarter, context-aware notifications.
Linked Issues check ✅ Passed All coding objectives from issue #26 are met: detecting add-on installation status, communicating auto-update enabled state, and providing context-specific messages for different TFT update scenarios.
Out of Scope Changes check ✅ Passed All changes directly support the PR objectives: documentation for the Upload TFT addon, version telemetry enhancement, and blueprint notification improvements for TFT status.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch v9999.99.9

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b4d0c94b4a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/addon_uploat_tft.md`:
- Line 1: The docs file name contains a typo: rename the file
docs/addon_uploat_tft.md to docs/addon_upload_tft.md and update any references
to the old path (e.g., README, mkdocs/nav, other markdown links or import
statements) to point to docs/addon_upload_tft.md so inbound links and
searchability are not broken; search the repo for "addon_uploat_tft.md" and
replace occurrences with "addon_upload_tft.md" and verify links render
correctly.

In `@nspanel_easy_blueprint.yaml`:
- Line 12087: Update the broken documentation link in
nspanel_easy_blueprint.yaml: replace the URL path "docs/addon_upload_tft.md"
with the actual filename "docs/addon_uploat_tft.md" in the markdown link text
shown ("For instructions, please [click
here](https://github.com/edwardtfn/NSPanel-Easy/blob/main/docs/addon_upload_tft.md)").

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9e99029 and b4d0c94.

📒 Files selected for processing (3)
  • docs/addon_uploat_tft.md
  • esphome/nspanel_esphome_version.yaml
  • nspanel_easy_blueprint.yaml

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.

Bug Supress TFT-Update Message if auto-update is enabled and the update was never tried

1 participant