Skip to content

Add new components and features: template climate, snapshot, CDC ACM UART bridge, and more - #153

Open
clydebarrow wants to merge 161 commits into
devfrom
claude/gifted-volta-tvbku7
Open

clydebarrow wants to merge 161 commits into
devfrom
claude/gifted-volta-tvbku7

Conversation

@clydebarrow

Copy link
Copy Markdown
Owner

What does this implement/fix?

This PR introduces several new components and features to ESPHome:

  1. Template Climate Component - A new climate component that allows users to create custom climate devices through templates, similar to existing template sensor/switch/cover components. Includes support for custom presets, fan modes, and swing modes.

  2. Snapshot Component - A host-only component for capturing display output to image files, useful for testing and debugging display-based configurations.

  3. CDC ACM UART Bridge - Enables UART communication over USB CDC ACM on ESP32 variants (P4, S2, S3) that support it, with proper task management and ring buffer handling.

  4. ESP-NOW over esp-hosted - A shim implementation allowing ESP-NOW to work on radio-less hosts (like ESP32-P4) by forwarding calls to a co-processor via CustomRpc.

  5. E-paper UC8179 Controller Support - Added support for UC8179-based e-paper displays (e.g., Waveshare 7.5" v2).

  6. Additional Components:

    • D01 sensor component
    • DS1603L sensor component
    • Various bug fixes and improvements to existing components

Types of changes

  • New feature (non-breaking change which adds functionality)
  • New developer-facing feature (adds functionality for component developers)
  • Code quality improvements to existing code

Test Environment

  • ESP32
  • ESP32 IDF

Checklist:

  • The code change is tested and works locally.
  • Code follows ESPHome conventions and style guidelines.

https://claude.ai/code/session_01CK9pNvTG7wUS5dXpzsWQkq

clydebarrow and others added 30 commits August 31, 2026 12:38
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…home#18813)

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
…me#18929)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Oliver Kleinecke <kleinecke.oliver@googlemail.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
Co-authored-by: Andrej Walilko <awalilko@liquidweb.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
jesserockz and others added 30 commits September 9, 2026 12:18
… interfaces (esphome#18999)

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
…home#18792)

Co-authored-by: J. Nick Koston <nick@home-assistant.io>
…19105)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
FakeEventLoop stepped every task's generator with a bare next(), so a
contextvar set inside one to_code() job could leak into an unrelated job
the scheduler interleaves it with. Give each task its own copied Context
and step it through Context.run(), the same isolation real asyncio.Task
provides internally, without touching the priority-based scheduling that
keeps generated C++ output deterministic.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CK9pNvTG7wUS5dXpzsWQkq
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.