Skip to content

Gate the CeilSense Boot LED on the Vendor's Self-Test Switch - #240

Merged
ptr727 merged 2 commits into
developfrom
fix-ceilsense-boot-led
Oct 15, 2026
Merged

ptr727 merged 2 commits into
developfrom
fix-ceilsense-boot-led

Conversation

@ptr727

@ptr727 ptr727 commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Fixes the garage CeilSense status LED ring spinning blue after boot.

Changes

  • The vendor made its startup LED self-test opt-in behind the Startup LED Self-Test switch, which defaults off. Its wifi.yaml phase 1 turns the loading effect on only while the switch is on, and base.yaml turns the LED off at the end of boot only while it is on.
  • This template stands in for that phase 1 and still turned the effect on unconditionally, so with the switch off nothing turned it off. The light.turn_on is now gated on switch.is_on: startup_led_test_enabled, matching the vendor.
  • The template tracks the vendor packages at @main, so the 2.3 build was the first to pick the vendor change up.

Verification

  • esphome config and esphome compile of garage-presence-sensor.yaml pass on ESPHome 2026.9.1, the dashboard's version.
  • Flashed to the garage sensor over OTA. After boot the status LED reports off in Home Assistant, where before the flash it stayed on with the Circular Loading Effect.
  • Prose gate at hub 94adcec: the sentence-length check passes, and the default check passes with --allow-comments.
  • Local strict review: two passes. The first found that the new comment overstated how the LED gets turned off, fixed in 5807786. The second found nothing.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • The startup status LED now follows the startup LED test setting instead of always turning on.

ptr727 and others added 2 commits October 15, 2026 07:32
The vendor made its startup LED self-test opt-in, gating both the phase 1
loading effect and the final turn-off on the Startup LED Self-Test switch.
The template's stand-in for the unimported wifi.yaml phase 1 still turned
the effect on unconditionally, so with the switch off nothing turned it
off and the ring kept spinning after boot. Phase 1 now checks the same
switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 15, 2026 14:35
@ptr727 ptr727 added the comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses label Oct 15, 2026
@ptr727

ptr727 commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 5807786df7e741e41b79223bbcee684fd4159b7e, the content this pull request carries at that commit against develop, and it recorded 0 findings.

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 93987506-b0ea-40f5-a6f1-b88f62163aa7
📥 Commits

Reviewing files that changed from the base of the PR and between 21383f2 and 5807786.

📒 Files selected for processing: 1
  • templates/smarthome-ceilsense.yaml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The priority-600 boot action still sets startup_phase to 1. It now turns on status_led at 80% brightness with the Circular Loading Effect only when startup_led_test_enabled is on.

Changes: Startup LED behavior

Layer / File(s) Summary
Gate the startup LED action
templates/smarthome-ceilsense.yaml
The priority-600 boot action checks startup_led_test_enabled before turning on status_led. The startup_phase assignment remains unconditional.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 58077

The opt-in switch skips the phase-1 LED action when disabled without disrupting the later startup checks. No merge-blocking issue is identified.

Pre-merge checks: Passed 5
Passed 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 clearly and concisely describes the main change: enabling the CeilSense boot LED only when the vendor self-test switch is enabled.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codecov

codecov Bot commented Oct 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.07%. Comparing base (21383f2) to head (5807786).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #240   +/-   ##
========================================
  Coverage    43.07%   43.07%           
========================================
  Files            1        1           
  Lines          130      130           
========================================
  Hits            56       56           
  Misses          74       74           
Flag Coverage Δ
python-3.13 43.07% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The focused change matches the described vendor behavior, has compile and device verification, and has no unresolved findings.

0 open findings

What changed in this PR

This change keeps the CeilSense boot LED behavior aligned with the vendor’s opt-in self-test switch, so the loading effect does not remain on when the switch is off.

Changes:

  • Gates the boot loading effect on Startup LED Self-Test.
  • Updates the nearby comment to describe that condition.
File Description
templates/​smarthome-ceilsense.yaml Adds the switch condition to the boot LED action.

🧠 Review effort: Lite


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit 7c5bb0d into develop Oct 15, 2026
36 checks passed
@ptr727
ptr727 deleted the fix-ceilsense-boot-led branch October 15, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comments Permits the comment lines the pull request adds or edits, which the prose gate otherwise refuses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants