J. Nick Koston
0ea2a3e5cc
Merge remote-tracking branch 'upstream/light-control-action-compact' into integration
2026-03-23 19:49:04 -10:00
J. Nick Koston
57c8ab861e
[light] Use compact per-field union storage in LightControlAction
...
Replace 14 TemplatableValue fields with a per-field union that stores
either a constant value or a callable pointer in the same 4 bytes
(on 32-bit targets). A 2-bit-per-field type tag in a uint32_t tracks
field state (unset/constant/stateless lambda/stateful lambda).
Reduces LightControlAction from 128 to 76 bytes per instance on ESP32.
For a config with 8 light actions, this saves 416 bytes of RAM and
476 bytes of flash (from eliminated TemplatableValue template
instantiations).
2026-03-23 19:48:44 -10:00
J. Nick Koston
14ae11e0de
Merge remote-tracking branch 'upstream/add-w5100-ethernet-support' into integration
2026-03-23 18:23:53 -10:00
J. Nick Koston
739bd93191
[ethernet] Add W5100 support for RP2040
...
Add support for the WIZnet W5100/W5100S SPI Ethernet controller
on RP2040 platforms, using the arduino-pico lwIP_w5100 library.
Tested on W5100S-EVB-Pico hardware.
2026-03-23 18:08:02 -10:00
J. Nick Koston
51de1ad0b9
Merge remote-tracking branch 'upstream/precompute-tag-forced-varint-fields' into integration
...
# Conflicts:
# esphome/components/api/api_pb2_dump.cpp
# esphome/components/sensor/sensor.h
2026-03-23 15:28:13 -10:00
Javier Peletier and J. Nick Koston
df4318505f
[substitutions] refactor substitute() as a pure function (package refactor part 3) ( #15031 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-23 14:28:04 -10:00
J. Nick Koston
a0d0516b22
[benchmark] Add noise handshake benchmark ( #15039 )
2026-03-23 13:40:41 -10:00
J. Nick Koston
0fb31726f6
[esp32] Add sram1_as_iram option and bootloader version detection ( #14874 )
2026-03-23 13:39:29 -10:00
J. Nick Koston
e63105b023
Merge remote-tracking branch 'upstream/wifi-esp8266-roam-scan-dwell' into integration
2026-03-23 13:14:26 -10:00
Clyde Stubbs
e6a73cab8f
[number] Add sensor platform ( #15125 )
2026-03-24 12:04:53 +13:00
bf6000ef3d
[substitutions] substitutions pass and !include redesign (package refactor part 2b) ( #14918 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-23 12:50:28 -10:00
J. Nick Koston
04032914e9
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/components/ethernet/__init__.py
# esphome/components/ethernet/ethernet_component_esp32.cpp
2026-03-23 12:45:25 -10:00
Clyde Stubbs
6956bf7e53
[text] Add text_sensor for read-only view of text component ( #15090 )
2026-03-24 10:24:25 +13:00
Daniel Kent and Jonathan Swoboda
11b829dda1
[spa06_spi] Add SPA06-003 Temperature and Pressure Sensor - SPI support (Part 3 of 3) ( #14523 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-23 15:59:17 -04:00
J. Nick Koston
1e16b30380
[ethernet] Add ENC28J60 SPI Ethernet support ( #14945 )
2026-03-23 19:18:58 +00:00
J. Nick Koston
f744568689
Merge remote-tracking branch 'upstream/component-8byte-optimization' into integration
2026-03-22 21:40:00 -10:00
J. Nick Koston
bd7bdc0e2d
Merge remote-tracking branch 'upstream/devirtualize-decode' into integration
2026-03-22 21:39:51 -10:00
J. Nick Koston
099bea00f6
Add test for _generate_source_table_code empty input
2026-03-22 21:30:22 -10:00
J. Nick Koston
a92281f899
Add tests for register_component_source, remove redundant index check
...
- Test empty name returns 0
- Test deduplication returns same index
- Test overflow warns and returns 0
- Remove duplicate index==0 check in get_component_log_str() since
component_source_lookup() already handles it
2026-03-22 21:24:13 -10:00
J. Nick Koston
0ec2a288a3
Merge branch 'dev' into component-8byte-optimization
2026-03-22 21:16:55 -10:00
J. Nick Koston
33bb87b813
Simplify to uint8_t index, add friend declarations, fix tests
...
- Drop 9-bit index scheme in favor of plain uint8_t (max 255 unique
source names, overflow warns in Python and returns 0)
- Add friend declarations for setup()/original_setup() so generated
code can call protected set_component_source_()
- Move get_component_log_str() out of line
- Fix test mocks to provide CORE.data dict
2026-03-22 21:16:18 -10:00
J. Nick Koston
5560c9eef7
[test] Fix flakey ld2412 integration test race condition ( #15100 )
2026-03-22 21:10:51 -10:00
Keith Burzinski and Claude Sonnet 4.6
225330413a
[uart] Rename FlushResult to UARTFlushResult with UART_FLUSH_RESULT_ prefix ( #15101 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-23 01:55:14 -05:00
J. Nick Koston
801b16f3fd
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-22 18:46:46 -10:00
J. Nick Koston
597bb18543
[benchmark] Add binary sensor publish and sensor filter benchmarks ( #15035 )
2026-03-23 16:30:57 +13:00
J. Nick Koston
8a3b5a8def
[core] Fix placement new storage name for templated types ( #15096 )
2026-03-23 16:09:23 +13:00
J. Nick Koston
6992219e34
[core] Attribute placement new storage symbols to components ( #15092 )
2026-03-22 16:27:07 -10:00
J. Nick Koston
20420d0016
Merge remote-tracking branch 'upstream/analyze-memory-pstorage-attribution' into integration
2026-03-22 15:05:20 -10:00
J. Nick Koston
2d10f8abd3
[analyze-memory] Attribute placement new storage symbols to components
...
Embed component namespace in storage variable names so analyze-memory
can reliably attribute them. Display as "storage for {id}" in reports
and always show regardless of size threshold.
2026-03-22 15:03:36 -10:00
cd05462e9f
[core] Use placement new allocation for Pvariables ( #15079 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-22 14:42:04 -10:00
J. Nick Koston
d60ab8e20f
Merge branch 'kamilcuk/use-placement-new' into integration
2026-03-22 14:19:43 -10:00
J. Nick Koston
5b1b285220
Merge branch 'kamilcuk/use-placement-new' of https://github.com/Kamilcuk/esphome into kamilcuk/use-placement-new
2026-03-22 14:19:29 -10:00
J. Nick Koston
2d47c31fbf
nits
2026-03-22 14:19:22 -10:00
J. Nick Koston
e564114787
Merge branch 'dev' into kamilcuk/use-placement-new
2026-03-22 14:06:12 -10:00
J. Nick Koston and Claude Opus 4.6
e85065b1c4
[logger] Fix dummy_main.cpp Logger constructor for clang-tidy ( #15088 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-22 14:06:00 -10:00
J. Nick Koston
76cd51beb9
Merge remote-tracking branch 'upstream/fix-dummy-main-logger-constructor' into integration
2026-03-22 14:02:18 -10:00
J. Nick Koston
58b6d7a0df
revert fix -- moved to another pr
2026-03-22 14:01:48 -10:00
J. Nick Koston
1dde810db8
revert fix -- moved to another pr
2026-03-22 14:01:32 -10:00
J. Nick Koston
280ea52002
Merge branch 'kamilcuk/use-placement-new' into integration
2026-03-22 13:58:24 -10:00
J. Nick Koston
3eb0f1affd
Merge branch 'kamilcuk/use-placement-new' of https://github.com/Kamilcuk/esphome into kamilcuk/use-placement-new
2026-03-22 13:54:09 -10:00
J. Nick Koston
8b89f5e036
avoid template overhead
2026-03-22 13:54:00 -10:00
J. Nick Koston
7bd4cde012
Merge branch 'dev' into kamilcuk/use-placement-new
2026-03-22 13:47:53 -10:00
J. Nick Koston and Claude Opus 4.6
67add9b9b6
[logger] Fix dummy_main.cpp Logger constructor for clang-tidy
...
The Logger constructor requires a task_log_buffer_size argument when
USE_ESPHOME_TASK_LOG_BUFFER is defined, which is the case in defines.h
used by clang-tidy.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-22 13:44:39 -10:00
J. Nick Koston
bccaee8d79
fix test
2026-03-22 13:38:43 -10:00
J. Nick Koston
f70f012dc2
fix test
2026-03-22 13:38:25 -10:00
J. Nick Koston
cf27eca8fc
Merge branch 'kamilcuk/use-placement-new' into integration
2026-03-22 13:14:10 -10:00
J. Nick Koston
4a2ff62d68
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-22 12:58:13 -10:00
J. Nick Koston
2c06464f7b
[packet_transport] Use FixedVector and parent pointer to enable inline Callback storage ( #14946 )
2026-03-22 12:41:54 -10:00
J. Nick Koston
08df8e15f1
Merge branch 'dev' into kamilcuk/use-placement-new
2026-03-22 12:33:56 -10:00
J. Nick Koston
4d09eb2cec
[tests] Fix flaky ld24xx integration tests by disabling API batching ( #15050 )
2026-03-22 12:29:28 -10:00