Skip to content

Merge beta into main#51

Merged
TrevorSchirmer merged 20 commits into
mainfrom
beta
Jul 15, 2026
Merged

Merge beta into main#51
TrevorSchirmer merged 20 commits into
mainfrom
beta

Conversation

@bharvey88

Copy link
Copy Markdown
Contributor

Merge beta into main.

Brings the current CAST-1 beta firmware to the stable channel. Notably includes:

To merge after #48 and #50.

🤖 Generated with Claude Code

TrevorSchirmer and others added 13 commits July 7, 2026 12:26
Matches the naming used by the AIR-1 firmware channel feature; "Stable"
is clearer than "Main" for users who don't know the branch layout.
Devices that stored "Main" fall back to the initial option, which is
the same channel.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Rename Firmware Channel option Main to Stable
The rolling pre-release created a tag named "beta", colliding with the
beta branch. git resolves a bare fetch refspec to refs/tags/ before
refs/heads/, so ESPHome remote packages pinned to ref: beta silently
fetch the tag (frozen at creation time) instead of the branch tip -
users following beta as a package get stale YAML no matter how often
they clean caches. Reproduced and confirmed on MSR-1, which inherited
this pattern from CAST-1.

Rename the release tag to beta-fw and update the manifest URLs to
match. The old beta release/tag should be deleted after this merges
and the renamed release is populated.

Version: 26.7.8.1

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Rename rolling beta release tag to beta-fw (branch/tag collision)
esphome::select::Select::state is deprecated (removal slated for 2026.7.0)
and the removal has now reached ESPHome beta, so the CI beta legs fail with
"TemplateSelect has no member named 'state'". Replace the nine
id(wizmote_action_*).state reads with .current_option() - same string,
identical compiled behavior on stable.

Same fix Core.yaml already got in fix/select-state-dev-compat; these uses
arrived later with the WizMote feature.

No version bump - rides with the unified PR's 26.7.12.1.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Fix ESPHome beta build: deprecated Select .state in wizmote.yaml
Aligns the live CAST-1 channel implementation with the pattern MSR-1
shipped as 26.7.9.1 (ApolloAutomation/MSR-1 #100/#103/#104), folding in
the beta-channel-default wrapper work:

- NEW: bluetooth_proxy + esp32_ble_tracker compile into both images; a
  "Bluetooth Proxy" switch (default off, persisted, re-applied at boot)
  starts/stops scanning at runtime. The existing CONFIG_BT_* sdkconfig
  options put BT allocations in PSRAM, keeping internal RAM free for the
  audio pipelines.
- apply_ota_source is now re-applied at boot (on_boot -100) - previously
  a reboot left the update entity on its compile-time default source.
  URLs come from stable/beta manifest-base substitutions; the Type
  (WiFi/Ethernet) x Channel (Stable/Beta) cross is unchanged.
- Firmware Update button upgraded from bare perform(true) to the standard
  flow (apply_ota_source + fetch window before perform)
- http_request consolidated into Core.yaml and buffers raised to the
  proven sizes (rx 4096->5120 for GitHub's ~3.6KB CSP header line,
  tx 1024->2048 for the ~850-char signed-redirect query)
- beta-channel/ wrappers default the select to Beta on beta builds
  (from the beta-channel-default branch); build-beta.yml builds them
- version 26.7.12.1

Supersedes #46.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Unified firmware: runtime Bluetooth Proxy switch + channel fix set
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@bharvey88, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 12 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fd052154-44bc-485b-9d16-ac2191a1b128

📥 Commits

Reviewing files that changed from the base of the PR and between 41b7bdd and c2e4eed.

📒 Files selected for processing (9)
  • .github/workflows/autoassign.yml
  • .github/workflows/build-beta.yml
  • Integrations/ESPHome/CAST-1_ETH.yaml
  • Integrations/ESPHome/CAST-1_W.yaml
  • Integrations/ESPHome/Core.yaml
  • Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml
  • Integrations/ESPHome/beta-channel/CAST-1_W.yaml
  • Integrations/ESPHome/wizmote.yaml
  • index.html
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch beta

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.

Add an empty encryption: key to the api: block so ESPHome/HA
provisions a per-device API key on adoption, matching MSR-1. Bump
firmware version to 26.7.14.1.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
The label-check job in ci.yml duplicates label-check.yml and, because
ci.yml runs on plain pull_request, always fails on fork-submitted PRs
where the token is read-only and cannot apply labels. label-check.yml
already handles this on pull_request_target. Drop the redundant job and
the now-unneeded pull-requests/issues write permissions, matching the
already-clean main on MSR-1 and CAST-1.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Remove duplicate label-check job from CI workflow
Auto-assign on fork PRs via pull_request_target
@bharvey88
bharvey88 requested a review from TrevorSchirmer July 14, 2026 20:33
@TrevorSchirmer
TrevorSchirmer merged commit f8b01b8 into main Jul 15, 2026
7 checks passed
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