Skip to content

Release 26.3.2.1 - Food probe improvements, fine-grained sleep, ESPHome modernisation#56

Open
bharvey88 wants to merge 36 commits intomainfrom
beta
Open

Release 26.3.2.1 - Food probe improvements, fine-grained sleep, ESPHome modernisation#56
bharvey88 wants to merge 36 commits intomainfrom
beta

Conversation

@bharvey88
Copy link
Copy Markdown
Contributor

Version: 26.3.2.1

What does this implement/fix?

Merges beta into main for the 26.3.2.1 release. Changes include:

  • Food probe accuracy improvements — multi-sampled ADC reads for better low-temperature accuracy, skip 0V readings, resistance displayed without fractional values, use substitutions to remove duplicate R2 definitions
  • Fine-grained sleep duration control (TEMP-1B) — sleep duration step reduced from 1 hour to 0.01 hours (36 seconds) for more precise battery sleep intervals
  • ESPHome modernisationesp32c3 board variant + flash_size: 4MB, web server v3 on main and minimal variants, remove legacy platformio options and BLE wifi hooks (breaking: board spec change)
  • API services → actions renameplay_buzzer renamed from service to action (breaking: existing HA automations calling this service will need updating)
  • IP address text sensor — via wifi_info platform
  • ESPHome version + Apollo firmware version text sensors — added to all TEMP-1 variants (BLE, Minimal, B, B_BLE, B_Minimal, R2 variants)
  • Bug fixes — Apollo firmware version showing "unknown", firmware version now published once on boot across all variants, UTF-8 special character restoration, deprecated state.c_str() replaced with current_option()

Types of changes

  • Bugfix (fixed change that fixes an issue)
  • New feature (thanks!)
  • Breaking change (repair/feature that breaks existing functionality)
  • Dependency Update - Does not publish
  • Other - Does not publish
  • Website of github readme file update - Does not publish
  • Github workflows - Does not publish

Checklist / Checklijst:

  • The code change has been tested and works locally
  • The code change has not yet been tested

If user-visible functionality or configuration variables are added/modified:

  • Added/updated documentation for the web page

kornelski and others added 30 commits January 23, 2026 12:45
It returns esphome::StringRef, which can be safely compared against string literals
Replace deprecated state.c_str() with current_option()
Remove duplicated code from R2 configs
When food probe reports temperatures below 25°C, the voltage is quite low and noisy.
The sliding window filter was adding 3-second delays, but didn't remove the noise as well as the built-in sampling feature.
The readings are typically in range 500-500000 with noise well above integer values.
This setting doesn't change the reported values, only configures how the values are displayed in logs and HA.
Using a dedicated API avoids needing an always-on interval, and completely stops update timer when the NTC probe is not needed.
Explicit check is needed on boot, because `switch.on_state` doesn't run when the state is automatically restored. esphome merges the `on_boot:then:` list, so it doesn't have to be copied to individual devices' YAML.
Use multi-sampled adc reads for better low-temperature accuracy
Change sleep duration step from 1 to 0.01 hours (36 seconds) for the
battery-powered TEMP-1B variant, allowing more precise sleep intervals.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
feat: Enable fine-grained sleep duration control
Exposes the device's current IP address as a diagnostic text sensor
in Home Assistant, making it easier to identify devices on the network.
Exposes the running ESPHome version and the Apollo firmware version as
diagnostic text sensors in Home Assistant, making it easy to verify
what firmware is installed without checking the ESPHome dashboard.
ESPHome renamed `services`/`service` to `actions`/`action` in newer
versions. Updates the play_buzzer API entry to use the current syntax.

BREAKING CHANGE: Any Home Assistant automations or scripts that call
play_buzzer as a service must be updated to use the new action syntax.
…ions

- Replace esp32 board string with variant/flash_size spec
- Remove platformio_options board_build.flash_mode from all device YAMLs
- Add web_server version: 3 to main and minimal device YAMLs
- Remove legacy BLE wifi on_connect/on_disconnect hooks
- Update TEMP-1_Beta.yaml api services -> actions (standalone config)
[esphome] Modernise board spec, web server v3, remove legacy options
[version] Add ESPHome and Apollo firmware version sensors
bharvey88 and others added 6 commits March 2, 2026 15:47
Bump version to 26.3.2.1
Per ESPHome dev feedback: the version is a compile-time constant, so
publish it once on_boot rather than using a lambda with periodic updates.
Removed component.update from reportAllValues scripts.
Add text_sensor.template.publish for apollo_firmware_version at
priority 500 to all TEMP-1 variant files. Move existing publish
in TEMP-1.yaml from priority 800 to separate 500 block. Change
priority from 800 to 500 for Minimal, BLE, and B_BLE variants.
R2 variants inherit the fix via !include.
Fix Apollo Firmware Version sensor showing unknown
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 27, 2026

Warning

Rate limit exceeded

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

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 13 minutes and 24 seconds.

⌛ 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.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e38cbe7c-ee87-42b4-81d4-563ff6e9a965

📥 Commits

Reviewing files that changed from the base of the PR and between df34eba and 6473912.

📒 Files selected for processing (17)
  • Integrations/ESPHome/Battery.yaml
  • Integrations/ESPHome/Core.yaml
  • Integrations/ESPHome/NewResistance.yaml
  • Integrations/ESPHome/Resistance.yaml
  • Integrations/ESPHome/TEMP-1.yaml
  • Integrations/ESPHome/TEMP-1B.yaml
  • Integrations/ESPHome/TEMP-1B_BLE.yaml
  • Integrations/ESPHome/TEMP-1B_BLE_R2.yaml
  • Integrations/ESPHome/TEMP-1B_Minimal.yaml
  • Integrations/ESPHome/TEMP-1B_Minimal_R2.yaml
  • Integrations/ESPHome/TEMP-1B_R2.yaml
  • Integrations/ESPHome/TEMP-1_BLE.yaml
  • Integrations/ESPHome/TEMP-1_BLE_R2.yaml
  • Integrations/ESPHome/TEMP-1_Beta.yaml
  • Integrations/ESPHome/TEMP-1_Minimal.yaml
  • Integrations/ESPHome/TEMP-1_Minimal_R2.yaml
  • Integrations/ESPHome/TEMP-1_R2.yaml
✨ 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 and usage tips.

@github-actions github-actions bot added the breaking-change Breaking change label Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants