Skip to content

esphome.yaml: Regularize (whitespace, ordering)#108

Merged
bharvey88 merged 1 commit into
ApolloAutomation:betafrom
gdt:tidy/esphome-yaml
Jul 7, 2026
Merged

esphome.yaml: Regularize (whitespace, ordering)#108
bharvey88 merged 1 commit into
ApolloAutomation:betafrom
gdt:tidy/esphome-yaml

Conversation

@gdt

@gdt gdt commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Adjust ordering of esphome yaml, and regularize whitespace. This commit makes no functional changes, and serves only to reduce the diffs from the base config to the BLE and Factory variants.

Version: 26.6.10.1
(This is confusing. Obviously a PR should be branched from upstream main, so I don't know if you mean to type that version so you know if it's aged, or ?)

Do you really want people to leave comments? (edit: I see they are omitted in display, but still)

What does this implement/fix?

This commit tidies whitespace and ordering of the esphome yaml files, making no functional changes. The point is to reduce the diffs among the three files, so that people trying to understand them have to juggle less. The two improv sections are now together; even though one is serial and one wifi, they are logically a group in the factory config.

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 (base, factory)
  • 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

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features
    • Added Air Quality LED controls: a brightness setting, selectable LED source (NowCast AQI / CO2 / VOC Index / Off), and a CO2 auto-calibration switch.
  • Improvements
    • Enhanced air-quality LED behavior to update based on selected metrics and restore the correct state after status/test runs.
    • Updated firmware minimum version and improved device update/OTA handling, including an additional HTTPS-based update method with SSL verification and automatic update triggering on WiFi connect.

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 503f049e-ec3e-4234-b7fd-80a3cdf4f735

📥 Commits

Reviewing files that changed from the base of the PR and between 6e8334b and 919ab0e.

📒 Files selected for processing (9)
  • .github/release-drafter.yml
  • .github/workflows/autoassign.yml
  • .github/workflows/build.yml
  • .github/workflows/ci.yml
  • .github/workflows/label-check.yml
  • Integrations/ESPHome/AIR-1.yaml
  • Integrations/ESPHome/AIR-1_BLE.yaml
  • Integrations/ESPHome/AIR-1_Factory.yaml
  • Integrations/ESPHome/Core.yaml

Walkthrough

The PR updates ESPHome device versioning, OTA/update behavior, and air-quality control logic, and also changes GitHub release-note formatting and workflow triggers/permissions.

Changes

ESPHome configuration updates

Layer / File(s) Summary
Version baselines
Integrations/ESPHome/Core.yaml, Integrations/ESPHome/AIR-1.yaml, Integrations/ESPHome/AIR-1_BLE.yaml, Integrations/ESPHome/AIR-1_Factory.yaml
ESPHome version/substitution values and minimum compatibility constraints were raised across the shared core and AIR-1 variants.
OTA and update wiring
Integrations/ESPHome/AIR-1.yaml, Integrations/ESPHome/AIR-1_BLE.yaml, Integrations/ESPHome/AIR-1_Factory.yaml
AIR-1 device configs now use ${ota_password}, add HTTP request OTA/update blocks, and trigger update checks on WiFi connect.
Air-quality LED controls
Integrations/ESPHome/Core.yaml
Core adds LED brightness and source controls, sensor-driven update hooks, and LED update/restore scripts.
Sleep and CO2 calibration controls
Integrations/ESPHome/Core.yaml
Core adjusts deep-sleep gating and adds CO2 auto-calibration switch/script wiring.

GitHub automation and release config

Layer / File(s) Summary
Release notes and build inputs
.github/release-drafter.yml, .github/workflows/build.yml
Release note formatting is simplified, and the build workflow now includes the BLE ESPHome config and its firmware name mapping.
Workflow triggers and permissions
.github/workflows/autoassign.yml, .github/workflows/ci.yml, .github/workflows/label-check.yml
Workflow triggers switch to pull_request_target where needed, a new label-check workflow is added, and CI permissions are narrowed.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

  • ApolloAutomation/AIR-1#71: Overlaps with the same Integrations/ESPHome/AIR-1_BLE.yaml sections around dashboard_import and logger.
  • ApolloAutomation/AIR-1#97: Directly related to the shared Core.yaml CO2 auto-calibration switch and setCo2AutoCalibration script.
  • ApolloAutomation/AIR-1#101: Directly related to the shared air-quality LED source select and update_air_quality_led script.

Suggested reviewers: firstof9, TrevorSchirmer

Poem

I hopped through YAML, light as snow,
New LEDs glow, and updates flow.
I nibble on configs, neat and small,
Then tap my paws on workflow walls.
🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: regularizing whitespace and ordering in ESPHome YAML files.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch tidy/esphome-yaml

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.

Adjust ordering of esphome yaml, and regularize whitespace.  This
commit makes no functional changes, and serves only to reduce the
diffs from the base config to the BLE and Factory variants.
@bharvey88
bharvey88 force-pushed the tidy/esphome-yaml branch from 6e8334b to 919ab0e Compare July 7, 2026 20:09
@bharvey88
bharvey88 changed the base branch from main to beta July 7, 2026 20:10
@bharvey88

Copy link
Copy Markdown
Contributor

Thanks, appreciate the cleanup. Rebased onto beta and retargeted, same as #109. Beta's OTA section gained a second platform recently, so I resolved the ordering against that (id first, matching the base file).

On the Version field: it refers to the version substitution in Integrations/ESPHome/Core.yaml. It's date-based, YY.M.D.N, where N counts same-day bumps. PRs that change the built firmware bump it; cosmetic PRs like these two don't, which is what the "Does not publish" checkboxes mean. Fair point that none of this is written down. It should live in a CONTRIBUTING.md.

@bharvey88
bharvey88 merged commit 1b86a0c into ApolloAutomation:beta Jul 7, 2026
1 check was pending
@gdt

gdt commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for being welcoming. Ack about beta.

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