Commit Graph
24422 Commits
Author SHA1 Message Date
J. Nick Koston 8407033111 dead 2026-03-03 19:56:31 -10:00
J. Nick Koston 675db740a9 Replace lambda and duplicate encode_msg thunk with shared proto_encode_msg<T>
Single named free function in proto.h used by both encode_message<T>
and APIConnection send paths. Eliminates duplicate thunk definitions.
2026-03-03 19:02:18 -10:00
J. Nick Koston 2b80effa20 Move HAS_PROTO_MESSAGE_DUMP code from template wrappers into non-template cores
Reduces per-instantiation cost of send_message<T> and
encode_message_to_buffer<T> by moving the DumpBuffer/log code
into send_message_() and encode_to_buffer(). The dump methods
(message_name, dump_to) are still virtual on ProtoMessage, so
they work correctly through the void* → ProtoMessage* cast.
2026-03-03 18:52:00 -10:00
J. Nick Koston 59b39d4388 tidy 2026-03-03 18:35:39 -10:00
J. Nick Koston 1e7eba1e90 tidy 2026-03-03 18:35:00 -10:00
J. Nick Koston 0a816192b2 restore comments to reduce diff churn 2026-03-03 18:32:18 -10:00
J. Nick Koston a7b61b1061 twea 2026-03-03 18:22:23 -10:00
J. Nick Koston 5d3d983994 fix bug 2026-03-03 17:49:25 -10:00
J. Nick Koston 9ba592cc42 cleanup 2026-03-03 17:40:07 -10:00
J. Nick Koston cfbe5904cc non-template cores 2026-03-03 17:31:43 -10:00
J. Nick Koston 6a66ab7406 tweak 2026-03-03 17:23:38 -10:00
J. Nick Koston b0279752eb tweak 2026-03-03 17:09:36 -10:00
Tilman VogelandJesse Hills cba34e770e [core] improve help text for --device option, mention OTA (#14445)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2026-03-03 21:18:36 -05:00
Kevin Ahrendt 8911d9d28f [media_source] Clarify threading contract (#14433) 2026-03-03 20:42:36 -05:00
J. Nick Koston 72dd92f10b Merge remote-tracking branch 'upstream/dev' into integration 2026-03-03 15:24:07 -10:00
J. Nick KostonandClaude Opus 4.6 9371159a7e [core] Replace custom esphome::optional with std::optional (#14368)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 01:14:05 +00:00
Kevin Ahrendt 43a6fe9b6c [core] add a StaticTask helper to manage task lifecycles (#14446) 2026-03-04 01:06:36 +00:00
J. Nick Koston 395ab306bd Merge remote-tracking branch 'upstream/dev' into integration 2026-03-03 14:32:48 -10:00
J. Nick Koston b4892a85b8 Merge remote-tracking branch 'origin/std-optional' into integration 2026-03-03 13:45:12 -10:00
J. Nick Koston 64b44bbe64 expand one more missed in first pass 2026-03-03 13:44:54 -10:00
J. Nick Koston 17c8332d8b Merge remote-tracking branch 'origin/std-optional' into integration 2026-03-03 13:41:13 -10:00
J. Nick Koston 103653c44f expand all sites, part 6 2026-03-03 13:32:53 -10:00
J. Nick Koston e8c8806267 expand all sites, part 5 2026-03-03 13:32:25 -10:00
J. Nick Koston 92e2f80666 expand all sites, part 4 2026-03-03 13:31:51 -10:00
J. Nick Koston a34e36e22e expand all sites, part 3 2026-03-03 13:31:08 -10:00
J. Nick Koston aca73e8438 expand all sites, part 2 2026-03-03 13:30:49 -10:00
J. Nick Koston d74a8ea385 expand all sites 2026-03-03 13:30:27 -10:00
J. Nick Koston 92cd08aa38 return ON part 2 2026-03-03 13:25:55 -10:00
J. Nick Koston 341123cd40 return ON 2026-03-03 13:24:51 -10:00
Jesse Hills 989330d6bc [globals] Fix handling of string booleans in yaml (#14447) 2026-03-03 22:54:40 +00:00
Jonathan SwobodaandClaude Opus 4.6 ee78d7a0c0 [tests] Fix integration test race condition in PlatformIO cache init (#14435)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 17:42:41 -05:00
J. Nick Koston f50d7b516e Merge remote-tracking branch 'upstream/std-optional' into integration 2026-03-03 12:18:40 -10:00
J. Nick Koston a90f29fc60 Merge branch 'configure_entity' into integration 2026-03-03 12:16:11 -10:00
J. Nick KostonandClaude Opus 4.6 ceee1378db add bit layout comment to configure_entity unpacking
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 12:13:18 -10:00
J. Nick Koston c52ff5dcbc Merge branch 'configure_entity' into integration
# Conflicts:
#	esphome/core/entity_base.h
2026-03-03 12:12:01 -10:00
J. Nick KostonandClaude Opus 4.6 67ba4bd386 inline set_name/set_entity_strings directly into configure_entity
No separate functions needed — configure_entity is the only caller.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 12:04:39 -10:00
J. Nick Koston 5373412f60 move DEVICE_CLASS_MAX_LENGTH to esphome/core/config.py alongside other max length constants 2026-03-03 12:03:51 -10:00
J. Nick Koston 151f1377a3 merge move_icons_progmem 2026-03-03 12:02:16 -10:00
J. Nick Koston c639accdfd move ICON_MAX_LENGTH to esphome/core/config.py alongside other max length constants 2026-03-03 11:55:26 -10:00
J. Nick KostonandClaude Opus 4.6 c0873973c1 fix component tests to match configure_entity codegen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 11:53:27 -10:00
J. Nick KostonandClaude Opus 4.6 42fa6ef818 [core] Merge set_name + set_entity_strings into configure_entity
Every entity generated two codegen calls:
  entity->set_name("Name", hash);
  entity->set_entity_strings(packed);

Merge these into a single configure_entity(name, hash, packed) call
to reduce generated code size. For a config with 50+ entities this
eliminates 50+ function calls from the generated setup() function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 11:47:14 -10:00
J. Nick Koston 10595d5f65 Merge branch 'dev' of https://github.com/esphome/esphome into integration 2026-03-03 11:41:57 -10:00
J. Nick Koston 6f4718f3d5 Merge branch 'move_device_class_progmem' into integration 2026-03-03 11:25:58 -10:00
J. Nick Koston f73076bb8b should be in tu 2026-03-03 11:25:18 -10:00
J. Nick Koston 214a27d49f Merge branch 'move_device_class_progmem' into integration 2026-03-03 11:23:20 -10:00
J. Nick Koston 2fe9de7dbc add max length validation for device class strings
Defense-in-depth: validate device class strings don't exceed the
48-byte PROGMEM buffer limit (47 chars + null), matching the same
pattern used for icon strings.
2026-03-03 11:23:06 -10:00
J. Nick Koston df863b99b6 Merge branch 'move_device_class_progmem' into integration 2026-03-03 11:10:14 -10:00
Thomas Rupprecht 96793a99ce [rtttl] add new codeowner (#14440) 2026-03-03 10:55:56 -10:00
J. Nick Koston ca6a05bfdd move device class strings to PROGMEM on ESP8266
Same treatment as icons in #14437. Device class strings were in
.rodata (RAM on ESP8266). Now stored as individual PROGMEM char arrays.

- Add get_device_class_to(std::span<char, MAX_DEVICE_CLASS_LENGTH>)
  buffer API matching get_icon_to() pattern
- Add fill_and_encode_entity_info_with_device_class() wrapper to
  deduplicate buffer handling across 10 API entity types
- Centralize MQTT device_class in send_discovery_() lambda where
  buffer lifetime outlives ArduinoJson serialization
- Deprecate get_device_class_ref()/get_device_class() on non-ESP8266
- static_assert error on ESP8266 directing to get_device_class_to()
- Update all callers: api, mqtt, web_server, log helper
2026-03-03 10:50:39 -10:00
Clyde Stubbs 380c0db020 [usb_uart] Don't claim interrupt interface for ch34x (#14431) 2026-03-03 14:49:38 -06:00