J. Nick Koston
d3df97f534
Merge remote-tracking branch 'origin/api-max-data-length-force' into integration
2026-04-06 18:42:13 -10:00
J. Nick Koston
b86ab07632
[core] Fix test for byte-length error message, add ByteLength and multibyte tests
2026-04-06 18:38:58 -10:00
J. Nick Koston
10b38e1588
[api] Add max_data_length proto option and optimize entity name/object_id ( #15426 )
2026-04-07 03:31:01 +00:00
J. Nick Koston
e3e191b783
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-06 16:23:07 -10:00
J. Nick Koston
7c671cd0e6
Merge branch 'api-proto-max-length' into integration
...
# Conflicts:
# esphome/components/api/api_connection.cpp
# esphome/components/api/api_pb2.cpp
# esphome/components/api/proto.h
# esphome/core/application.h
# esphome/core/component.cpp
# script/api_protobuf/api_protobuf.py
2026-04-06 14:02:14 -10:00
Jonathan Swoboda
29ca7bc8f9
[espnow] Fix string data generating invalid C++ char literals ( #15493 )
2026-04-06 19:57:16 -04:00
J. Nick Koston
87622c9a74
[api] Add max_data_length proto option and optimize entity string encoding
...
Add a max_data_length field option to api_options.proto for string/bytes
fields. When max_data_length < 128 and force = true, the code generator
uses encode_short_string_force() — a single call that writes the tag
byte, 1-byte length varint, and raw string data with no branching. Size
calculation simplifies from calc_length(1, size) to 2 + size.
Annotate entity fields across all 25 ListEntities*Response messages:
- name and object_id: max_data_length = 120, force = true (50 fields)
- icon: max_data_length = 63 (25 fields)
The 120 and 63 values match NAME_MAX_LENGTH and ICON_MAX_LENGTH in
esphome/core/config.py, validated at config time.
2026-04-06 13:28:50 -10:00
Clyde Stubbs
c98bb9060f
[lvgl] Fix setting triggers on display ( #15364 )
2026-04-07 10:48:14 +12:00
Clyde Stubbs
ce0d360790
[lvgl] Implement rotation directly ( #14955 )
2026-04-07 10:46:42 +12:00
J. Nick Koston and Jonathan Swoboda
ab45591507
[core] Move wake_loop out of socket component into core ( #15446 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-06 21:01:03 +00:00
Boris Krivonog
02185fb4f4
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 5) ( #15483 )
2026-04-06 09:59:18 -10:00
J. Nick Koston
bc47757af1
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-05 18:39:27 -10:00
Boris Krivonog
859ea23bde
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 4) ( #15462 )
2026-04-05 18:33:02 -10:00
Jonathan Swoboda
7644f17cf6
[at581x] Fix codegen crash when using lambdas for frequency/time/power ( #15468 )
2026-04-06 00:05:04 -04:00
J. Nick Koston
7a571493ff
Merge remote-tracking branch 'origin/esp8266-crash-handler' into integration
2026-04-05 16:55:29 -10:00
Jonathan Swoboda
aac74f4c94
[ags10] Fix wrong type passed to cg.templatable for set_zero_point mode ( #15467 )
2026-04-05 22:48:00 -04:00
Keith Burzinski and Claude Opus 4.6
07f6be679f
[esp32] Add signed app verification without hardware secure boot ( #15357 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-05 21:20:48 -05:00
J. Nick Koston
f193bab60b
[api] Add ListEntities benchmarks for sensor, binary_sensor, and light ( #15427 )
2026-04-05 13:25:50 -10:00
Tomer27cz
f01762ea44
[ci] move import to function ( #15440 )
2026-04-05 19:17:52 -04:00
Andrew Rankin
f23843130e
[lvgl] option to enable LVGL's built-in dark theme ( #15389 )
2026-04-06 09:07:42 +10:00
c7a163441e
[ethernet] Add interface configuration variable for esp-idf ( #10285 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-05 20:57:41 +00:00
J. Nick Koston
1582e230dd
Merge branch 'enhancement/ethernet-spi-interface' into integration
2026-04-05 10:32:44 -10:00
J. Nick Koston
ddb024cfb1
Merge branch 'dev' into enhancement/ethernet-spi-interface
2026-04-05 10:32:31 -10:00
J. Nick Koston
47c5734793
bot comments
2026-04-05 10:00:45 -10:00
J. Nick Koston
a084f5199c
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-05 09:53:52 -10:00
J. Nick Koston
380aa0b3ee
touch ups
2026-04-05 09:28:36 -10:00
ae9068a4c4
[internal_temperature] Add support for LN882X (Lightning LN882H) ( #15370 )
...
Co-authored-by: Bl00d-B0b <Bl00d-B0b@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: J. Nick Koston <nick@home-assistant.io >
2026-04-05 09:17:12 -10:00
J. Nick Koston
dae8ea1b04
[mcp23xxx][pi4ioe5v6408] Add optional interrupt pin to eliminate polling ( #15445 )
2026-04-05 08:26:39 -10:00
Ross Tyler
c20da3e951
Merge branch 'dev' into enhancement/ethernet-spi-interface
2026-04-05 07:37:56 -07:00
J. Nick Koston
411d2f8beb
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-04 22:11:48 -10:00
Clyde Stubbs and Jonathan Swoboda
4d2062282e
[mipi_spi] Run spi final validation ( #15418 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-04 21:11:49 -04:00
J. Nick Koston
2d9a42e4ba
[pcf8574][pca9554] Add optional interrupt pin to eliminate polling ( #15444 )
2026-04-04 13:56:21 -10:00
J. Nick Koston
2b4448db02
Merge remote-tracking branch 'upstream/move-wake-to-core' into integration
2026-04-04 13:43:10 -10:00
J. Nick Koston
586196779b
Merge remote-tracking branch 'upstream/gpio-expander-interrupt-pin-2' into integration
2026-04-04 13:43:06 -10:00
830517a98f
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 3) ( #15437 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-04 12:40:05 -10:00
J. Nick Koston
18ad20a1bd
Add binary sensors on interrupt-enabled hubs to exercise pin_mode path
2026-04-04 10:45:46 -10:00
J. Nick Koston
e372440ed2
[core] Move wake_loop out of socket component into core
...
Wake primitives (esp_schedule, __sev, FreeRTOS task notifications)
are platform SDK functions that don't depend on the socket/network
stack. Move them to esphome/core/wake.h/.cpp so they work
unconditionally on all platforms.
This eliminates the require_wake_loop_threadsafe() boilerplate,
the USE_WAKE_LOOP_THREADSAFE define, and the socket AUTO_LOAD
entries that 12 components needed just to use wake.
wake_loop_threadsafe() and wake_loop_any_context() now just work
on every platform without opt-in.
2026-04-04 10:32:32 -10:00
J. Nick Koston
d1e737280f
Fix ESP8266 SPI test pin conflict: use GPIO0 for interrupt_pin
2026-04-04 09:18:04 -10:00
J. Nick Koston
41e09c1e6c
[mcp23xxx][pi4ioe5v6408] Add optional interrupt pin to eliminate polling
...
Extend interrupt_pin support to MCP23008, MCP23017, MCP23S08, MCP23S17,
and PI4IOE5V6408 GPIO expander components. Same approach as PCF8574/PCA9554:
when configured, the component disables its loop and only wakes on interrupt,
and the cache stays valid between interrupts so binary sensors return from
cache instead of doing I2C/SPI reads every loop iteration.
For MCP23xxx, the interrupt_pin config and C++ logic lives in the shared
MCP23XXXBase template class, so all four variants (I2C 8/16-pin, SPI
8/16-pin) inherit it automatically.
Inspired by jesserockz's work in #11959 which proposed a more comprehensive
interrupt-driven approach with per-pin interrupt status register reading.
This implementation takes a simpler path by leveraging the existing
CachedGpioExpander cache invalidation mechanism.
2026-04-04 09:12:09 -10:00
J. Nick Koston
ec11c17e74
Merge remote-tracking branch 'upstream/pcf8574-pca9554-interrupt-pin' into integration
2026-04-04 09:08:11 -10:00
J. Nick Koston
0afdc6df26
[pcf8574][pca9554] Add interrupt_pin to compile tests
2026-04-04 08:58:02 -10:00
J. Nick Koston
297f9c134f
[time] Use set_interval for CronTrigger instead of loop() ( #15433 )
2026-04-04 01:07:16 -10:00
J. Nick Koston
25f84b99ad
Merge remote-tracking branch 'upstream/dev' into enhancement/ethernet-spi-interface
...
# Conflicts:
# esphome/components/ethernet/__init__.py
# esphome/components/ethernet/ethernet_component.cpp
# esphome/components/ethernet/ethernet_component.h
2026-04-04 00:46:46 -10:00
J. Nick Koston
9ee5089891
[time] Support */N syntax in cron expressions ( #15434 )
2026-04-04 00:30:41 -10:00
J. Nick Koston
269c234ac2
Merge remote-tracking branch 'upstream/api/peel-first-write-iteration' into integration
2026-04-03 23:48:58 -10:00
J. Nick Koston
d795dc2f1c
fix bench
2026-04-03 22:09:46 -10:00
J. Nick Koston
fb4d488864
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-03 21:09:25 -10:00
alorente and clydebarrow
53b6528cc5
[epaper_spi] Allow runtime rotation change ( #15419 )
...
Co-authored-by: clydebarrow <2366188+clydebarrow@users.noreply.github.com >
2026-04-04 16:02:15 +10:00
Boris Krivonog
16ae753317
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 2) ( #15358 )
2026-04-03 19:44:04 -10:00
J. Nick Koston
102a3e12fe
Merge branch 'integration' of https://github.com/esphome/esphome into integration
2026-04-03 18:22:32 -10:00