J. Nick Koston
3b14f4dfc8
[api] Pass the encode cursor by value through the protobuf helpers
...
The ProtoEncode helpers took the write cursor by reference and a
bool force flag. At -Os the compiler outlines most of them, so every
call site had to keep pos in a stack slot and pass its address, plus
a constant for the flag. The helpers now take the cursor by value and
return the advanced cursor, so consecutive calls chain through the
return register; forced fields call a _force overload instead of
passing a flag.
The fixed32 writers use __builtin_memcpy, which stays a builtin under
ESP-IDF's -fno-builtin-memcpy, and are outlined on embedded targets so
each fixed32 or float field is a short call instead of an inline
memcpy call. Non-forced float and fixed32 fields with a single-byte
tag share the same writer behind a zero check.
Generated encode bodies shrink by 18 percent on an ESP32 IDF proxy
build (2360 to 1932 bytes for 27 messages); entity messages gain the
most, for example ListEntitiesSensorResponse::encode 190 to 134 bytes
and SensorStateResponse::encode 78 to 49 bytes.
2026-09-07 09:21:54 +02:00
Brandon Harvey and J. Nick Koston
fb65096ea3
[api] Add description and example metadata to user-defined actions ( #18881 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-08-30 13:52:51 -05:00
J. Nick Koston
e55a8aeabe
[api] Drop connection instead of crashing when buffer allocation fails ( #18803 )
2026-08-27 14:49:12 +12:00
J. Nick Koston
9baff76520
[api] Treat homeassistant.event variables as lambdas ( #18759 )
2026-08-26 16:29:14 +12:00
J. Nick Koston
2b3027a7fd
[api] Provision encryption keys over an encrypted zero-PSK noise connection ( #17482 )
2026-07-13 08:55:30 +12:00
fd16eec416
[nrf52] switch nrf52 builds to native sdk by default ( #17319 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: ESPHome Device Builder <device-builder@esphome.io >
2026-07-03 12:16:55 -04:00
Jonathan Swoboda
9f589ec4fc
[api] Register homeassistant.action with synchronous=False to fix stale trigger args in response callbacks ( #17367 )
2026-07-02 19:47:12 -04:00
Jonathan Swoboda
43b3aa0712
[ci] Fix nRF52 zigbee/network test-grouping conflict ( #17295 )
2026-06-30 11:37:59 -04:00
Ardumine and Jonathan Swoboda
a0742a9535
[api] Add nRF52 support ( #17226 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-27 14:22:34 -04:00
J. Nick Koston
36e043debb
[tests] Fail component test merge on conflicting duplicate IDs ( #16849 )
2026-06-08 12:49:25 -05:00
Keith Burzinski
c951881eea
[api] Fix uint32_t/int32_t format strings for stricter GCC toolchain ( #16603 )
2026-05-24 04:05:18 +00:00
J. Nick Koston
0f174ee626
[api] Fall back to owning types for service array args used after a delay ( #16140 )
2026-05-04 10:55:40 +12:00
Jonathan Swoboda
42b8597719
[api] Extend NOLINT to cover bugprone-random-generator-seed in MAC varint test ( #16120 )
2026-04-29 13:58:19 +00:00
J. Nick Koston
f05243bd9d
[api] Add 48-bit MAC address varint fast path for BLE advertisements ( #15988 )
2026-04-29 13:48:35 +12:00
J. Nick Koston
c709010c4c
[api] Replace std::vector<uint8_t> with APIBuffer to skip zero-fill ( #14593 )
2026-03-10 09:11:12 -10:00
f20aaf3981
[api] Device defined action responses ( #12136 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-12-06 09:47:57 -06:00
09f3f62194
[api] Connected Condition - state_subscription_only flag ( #11906 )
...
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 >
2025-11-24 11:49:16 -06:00
J. Nick Koston
c17a31a8f8
Ensure event paths are enabled in api compile tests ( #11776 )
2025-11-10 14:28:49 +13:00
J. Nick Koston
d0b399d771
[ci] Reduce release time by removing 468 redundant ESP32-C3 IDF tests ( #11737 )
2025-11-07 15:44:01 +13:00
J. Nick Koston
40f919eaa6
Add action continuation tests ( #11674 )
2025-11-03 14:07:03 +13:00
J. Nick Koston
dcf2697a2a
Group component tests to reduce CI time ( #11134 )
2025-10-12 07:21:45 +13:00
J. Nick Koston
56334b7832
[ci][tests] Remove redundant ESP32 Arduino test files ( #11136 )
2025-10-10 07:26:41 +13:00
a62c7a03dd
[api] Add support for getting action responses from home-assistant ( #10948 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2025-10-08 20:47:36 +13:00
J. Nick Koston
1922b7b3ed
[api] Make password and encryption mutually exclusive, add deprecation warning for password auth ( #10871 )
2025-09-24 22:20:35 -05:00
Keith Burzinski and Jesse Hills
2fd5f9ac58
[api] Allow noise encryption key to be set at runtime ( #7296 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-04-17 13:15:25 +12:00
Clyde Stubbs
ecd3d838c9
[api] Bump noise-c library version ( #7288 )
2024-08-15 15:35:03 +12:00
Jesse Hills
cb9906b921
[api] `homeassistant.action replaces homeassistant.service` ( #7171 )
2024-08-01 22:38:36 +12:00
Keith Burzinski
f6848fe24d
[CI] Introduce testing for IDF 5 (and other arbitrary framework versions) ( #6802 )
...
* Initial changes to support testing of additional framework versions
* Rename Arduino test files
2024-06-17 16:32:11 -05:00
Keith Burzinski
d604c8ae64
[CI-api] Test fix for IDF 5+ ( #6918 )
2024-06-17 07:18:04 +00:00
Keith Burzinski
f6a3784eba
Consolidate test files where all tests are identical ( #6690 )
2024-05-08 07:33:37 +12:00
Keith Burzinski
cb731926be
Add actions for component tests A, B and C ( #6256 )
2024-03-19 10:00:06 +13:00
Keith Burzinski
9dbbc80c74
Add some components to the new testing framework (A part 2) ( #6162 )
2024-02-07 04:05:04 +09:00