Release 26.3.2.1 - New sensors, ESPHome modernisation, and bug fixes#89
Conversation
Merges AIR-1 main branch to beta to get it synced up and ready for beta PRs
Add ids for temp and humidity
…to 60 second esphome defaults Fixed missing ids for mics entities and changed update_interval back to 60 second esphome defaults
…interval Fixes Missing ids for mics entities and changes update_interval back to 60 second esphome defaults
Uses PM2.5 and PM10 from the SEN55 via the built-in esphome aqi platform. Returns the higher of the two sub-indices per 2024 EPA breakpoints. Named "NowCast AQI" rather than "AQI" because the device lacks ozone and SO2.
- esp32: board -> variant: esp32c3 + flash_size: 4MB - web_server: add version: 3 - api: services/service -> actions/action - Remove platformio_options board_build.flash_mode from all device YAMLs - AIR-1_Factory: remove legacy BLE on_connect/on_disconnect wifi hooks Port of ApolloAutomation/MTR-1#74 (min_version bump excluded per repo conventions)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
[esphome] Modernise board spec, web server v3, and API actions
[version] Add ESPHome version and Apollo firmware version sensors
[aqi] Add NowCast AQI sensor using PM2.5 and PM10
[apollo_air-1] Add configurable DPS310 pressure offset
[wifi_info] Add IP address text sensor
Bump version to 26.3.2.1
The sensor uses update_interval: never and only updated via reportAllValues, which is gated behind the prevent_sleep=OFF branch of on_client_connected. Since prevent_sleep defaults to RESTORE_DEFAULT_ON, the sensor never got a value in always-on mode and showed "unknown" in HA. Fix by calling component.update unconditionally at the start of on_client_connected, before the 90s delay and sleep conditional.
…nown fix: Apollo firmware version always showing unknown
The sensor was showing "unknown" because component.update silently fails when the component's is_ready() check returns false. Replaced with text_sensor.template.publish which calls publish_state() directly. Also removed update_interval: never so the lambda fires every 60s as a periodic fallback.
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 publish from on_client_connected and reportAllValues script.
Fix Apollo Firmware Version sensor showing unknown
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (2)
WalkthroughUpdated ESPHome device YAMLs by removing explicit PlatformIO flash-mode overrides and adding an on_boot publish of a template firmware-version text_sensor in AIR-1.yaml. Core.yaml was updated: version bump, esp32c3 target, API services → actions, new sensors/number/text_sensors, sensor id additions, and sensor interval adjustments. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Integrations/ESPHome/Core.yaml`:
- Around line 330-336: The sensor is misnamed as "NowCast AQI" while using the
ESPHome aqi platform (platform: aqi, id: nowcast_aqi, pm_2_5, pm_10_0,
calculation_type: AQI, device_class: aqi) which does not implement NowCast;
rename the sensor and id to something accurate like "PM AQI" (update name and id
from "NowCast AQI" / nowcast_aqi to "PM AQI" / pm_aqi or "PM-only AQI" /
pm_only_aqi) and ensure any references to the old id are updated accordingly so
the configuration correctly reflects the instantaneous PM-based AQI calculation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9cad7f84-689c-4781-b4b6-7925a0fd7800
📒 Files selected for processing (4)
Integrations/ESPHome/AIR-1.yamlIntegrations/ESPHome/AIR-1_BLE.yamlIntegrations/ESPHome/AIR-1_Factory.yamlIntegrations/ESPHome/Core.yaml
💤 Files with no reviewable changes (2)
- Integrations/ESPHome/AIR-1_BLE.yaml
- Integrations/ESPHome/AIR-1_Factory.yaml
Version: 26.3.2.1
What does this implement/fix?
Merges beta into main for the 26.3.2.1 release. Changes include:
aqiplatform (higher of the two sub-indices per 2024 EPA breakpoints)wifi_infoplatformesp32c3board variant +flash_size: 4MB, web server v3, APIactions/action(wasservices/service), remove legacy BLE on_connect/on_disconnect wifi hooks from Factory YAMLTypes of changes
Checklist / Checklijst:
If user-visible functionality or configuration variables are added/modified:
Summary by CodeRabbit
New Features
Updates