J. Nick Koston
|
f23428fbaf
|
Merge remote-tracking branch 'upstream/dev' into integration
|
2025-12-06 14:10:44 -06:00 |
|
Jesse Hills
|
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 |
|
J. Nick Koston
|
aba883a7a7
|
Merge branch 'retry_no_double_copy' into integration
|
2025-12-05 20:52:07 -06:00 |
|
Clyde Stubbs
|
6716194e47
|
[binary_sensor] Fix reporting of 'unknown' (#12296)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
|
2025-12-05 16:59:29 -06:00 |
|
J. Nick Koston
|
5142ff372b
|
[light] Use listener pattern for state callbacks with lazy allocation (#12166)
|
2025-12-02 10:01:54 -06:00 |
|
J. Nick Koston
|
10ddebc737
|
[text_sensor] Avoid duplicate string storage when no filters configured (#12205)
|
2025-12-01 22:17:31 -06:00 |
|
J. Nick Koston
|
0e8e0ca9a8
|
Merge branch 'action_response_error_ref' into integration
|
2025-12-01 16:29:34 -06:00 |
|
J. Nick Koston
|
73f3cf9703
|
[api] Use StringRef for ActionResponse error message to avoid copy
|
2025-12-01 16:25:06 -06:00 |
|
J. Nick Koston
|
7b541e3d80
|
Merge branch 'integration' into memory_api
|
2025-11-30 17:19:49 -06:00 |
|
J. Nick Koston
|
eebfa6584c
|
Merge branch 'text_sensor_dupe_storage' into integration
|
2025-11-30 17:19:43 -06:00 |
|
J. Nick Koston
|
e8f6f86a02
|
cover
|
2025-11-30 17:17:15 -06:00 |
|
J. Nick Koston
|
82e1238330
|
[lock] Refactor trigger classes to template and add integration tests (#12193)
|
2025-11-30 17:09:02 -06:00 |
|
J. Nick Koston
|
415c56e324
|
Merge branch 'integration' into memory_api
|
2025-11-29 18:21:24 -06:00 |
|
J. Nick Koston
|
ffdc391c7b
|
Merge branch 'lock_cleanups' into integration
|
2025-11-29 18:21:00 -06:00 |
|
J. Nick Koston
|
a80435af0f
|
[lock] Refactor trigger classes to template and add integration tests
|
2025-11-29 18:20:18 -06:00 |
|
J. Nick Koston
|
8a90fa302e
|
Merge branch 'integration' into memory_api
|
2025-11-28 16:57:14 -06:00 |
|
J. Nick Koston
|
83dd53954b
|
Merge branch 'alarm_control_panel_reduce_complexity' into integration
|
2025-11-28 16:57:04 -06:00 |
|
J. Nick Koston
|
d3918dc784
|
reduce
|
2025-11-28 16:39:05 -06:00 |
|
J. Nick Koston
|
2060ed0a92
|
tests
|
2025-11-28 16:32:28 -06:00 |
|
J. Nick Koston
|
30ee14813f
|
cover
|
2025-11-28 12:48:41 -06:00 |
|
J. Nick Koston
|
1d24bf8438
|
Merge branch 'integration' into memory_api
|
2025-11-25 21:21:30 -06:00 |
|
J. Nick Koston
|
cbbdd634c1
|
Merge upstream/dev into integration
|
2025-11-25 21:21:03 -06:00 |
|
J. Nick Koston
|
a571033b43
|
[script] Fix script.wait hanging when triggered from on_boot (#12102)
|
2025-11-25 10:30:01 -06:00 |
|
J. Nick Koston
|
46a26560fd
|
[template.alarm_control_panel] Replace std::map with FixedVector for heap and flash savings (#11893)
|
2025-11-25 16:21:56 +13:00 |
|
J. Nick Koston
|
fa1efb1048
|
Merge branch 'integration' into memory_api
|
2025-11-24 12:10:08 -06:00 |
|
J. Nick Koston
|
a6446ee179
|
Merge branch 'error_logstr' into integration
|
2025-11-24 12:09:58 -06:00 |
|
J. Nick Koston
|
06815fe177
|
[script][wait_until] Fix FIFO ordering and reentrancy bugs (#12049)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
2025-11-24 10:41:24 -06:00 |
|
J. Nick Koston
|
0d3919747c
|
Merge branch 'integration' into memory_api
|
2025-11-19 22:52:08 -06:00 |
|
J. Nick Koston
|
19c377b6de
|
Merge branch 'api_ha_subs' into integration
|
2025-11-19 22:51:56 -06:00 |
|
J. Nick Koston
|
b9595c0795
|
cover
|
2025-11-19 22:49:52 -06:00 |
|
J. Nick Koston
|
fd0d1c41b7
|
Merge branch 'integration' into memory_api
|
2025-11-16 09:19:04 -06:00 |
|
J. Nick Koston
|
d878e9a8f2
|
Merge remote-tracking branch 'upstream/web_server_shutdown_race_fix' into integration
|
2025-11-16 09:18:58 -06:00 |
|
J. Nick Koston
|
6f4042f401
|
Add tests for sensor timeout filters (#11923)
|
2025-11-15 22:21:38 -06:00 |
|
J. Nick Koston
|
6370132cbb
|
Merge branch 'integration' into memory_api
|
2025-11-13 12:38:14 -06:00 |
|
J. Nick Koston
|
1f408ce41c
|
[template.alarm_control_panel] Use FixedVector for iteration-only sensor storage
|
2025-11-13 12:35:43 -06:00 |
|
J. Nick Koston
|
3a5b3ad77d
|
[thermostat] Replace std::map with FixedVector, reduce flash usage (#11875)
|
2025-11-12 17:55:06 -06:00 |
|
J. Nick Koston
|
9a2574a2fe
|
Merge branch 'integration' into memory_api
|
2025-11-12 14:56:02 -06:00 |
|
J. Nick Koston
|
20388ce848
|
[thermostat] Replace std::map with FixedVector, reduce flash usage
|
2025-11-12 14:54:23 -06:00 |
|
J. Nick Koston
|
9accb16b4a
|
Merge branch 'integration' into memory_api
|
2025-11-12 12:02:04 -06:00 |
|
J. Nick Koston
|
9de80b635a
|
[core] Fix wait_until hanging when used in on_boot automations (#11869)
|
2025-11-12 17:56:19 +00:00 |
|
J. Nick Koston
|
ef19d7bb24
|
Merge branch 'integration' into memory_api
|
2025-11-05 21:22:24 -06:00 |
|
J. Nick Koston
|
822eacfd77
|
[core] Fix wait_until and for_condition timing regression in automation chains (#11716)
|
2025-11-06 15:49:24 +13:00 |
|
J. Nick Koston
|
83f30a64ed
|
[api] Store YAML service names in flash instead of heap (#11744)
|
2025-11-06 15:31:59 +13:00 |
|
J. Nick Koston
|
b3fdef3ac4
|
Merge branch 'integration' into memory_api
|
2025-11-05 18:59:08 -06:00 |
|
J. Nick Koston
|
15c167b5ce
|
adjust
|
2025-11-05 18:55:04 -06:00 |
|
J. Nick Koston
|
ab6cb2dee6
|
remove extra test
|
2025-11-05 18:51:38 -06:00 |
|
J. Nick Koston
|
bd0705cdc0
|
[api] Store YAML service names in flash instead of heap
Reduces memory usage for YAML-defined API services by storing service
names and argument names as pointers to string literals in flash instead
of heap-allocated std::string objects.
Implementation:
- Created UserServiceBase<Ts...> for YAML services (const char* storage)
- Created UserServiceDynamic<Ts...> for custom_api_device (std::string storage)
- Updated CustomAPIDeviceService to inherit from UserServiceDynamic
- UserServiceTrigger uses UserServiceBase (YAML-only)
Memory savings per YAML service:
- 0 args: 32 bytes (57% reduction)
- 2 args: 48 bytes (60% reduction)
- 5 args: 96 bytes (63% reduction)
Custom API device services maintain same memory footprint (no regression).
Typical ESPHome device (2-5 services): 100-240 bytes saved
High-service device (10+ services): 400-800 bytes saved
|
2025-11-05 18:51:17 -06:00 |
|
J. Nick Koston
|
4810c36141
|
[api] Store YAML service names in flash instead of heap
Reduces memory usage for YAML-defined API services by storing service
names and argument names as pointers to string literals in flash instead
of heap-allocated std::string objects.
Implementation:
- Created UserServiceBase<Ts...> for YAML services (const char* storage)
- Created UserServiceDynamic<Ts...> for custom_api_device (std::string storage)
- Updated CustomAPIDeviceService to inherit from UserServiceDynamic
- UserServiceTrigger uses UserServiceBase (YAML-only)
Memory savings per YAML service:
- 0 args: 32 bytes (57% reduction)
- 2 args: 48 bytes (60% reduction)
- 5 args: 96 bytes (63% reduction)
Custom API device services maintain same memory footprint (no regression).
Typical ESPHome device (2-5 services): 100-240 bytes saved
High-service device (10+ services): 400-800 bytes saved
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-05 18:49:58 -06:00 |
|
J. Nick Koston
|
1446e7174a
|
[core] Reduce action framework argument copies by 83% (#11704)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
|
2025-11-05 01:23:24 +00:00 |
|
J. Nick Koston
|
42833c85f5
|
[climate] Replace std::vector<std::string> with const char* for custom fan modes and presets (#11621)
|
2025-11-02 23:16:39 -06:00 |
|