Commit Graph
23851 Commits
Author SHA1 Message Date
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 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
J. Nick Koston 5ba1886b9b Merge branch 'move_icons_progmem' into integration 2026-03-03 08:43:46 -10:00
J. Nick Koston afb8ba6813 preen 2026-03-03 08:43:35 -10:00
J. Nick Koston 06c7bbd4ee Merge branch 'move_icons_progmem' into integration 2026-03-03 08:40:03 -10:00
J. Nick Koston 6425c15ee1 bot review 2026-03-03 08:33:04 -10:00
J. Nick Koston 6fd20056ad Merge branch 'move_icons_progmem' into integration 2026-03-03 08:23:52 -10:00
J. Nick Koston 7becceb3b1 Merge remote-tracking branch 'upstream/dev' into integration 2026-03-03 08:23:42 -10:00
J. Nick Koston 4267d29cb5 simplify get_icon_to: single lookup call on non-ESP8266
- Non-ESP8266: just return entity_icon_lookup(idx) directly
- ESP8266: short-circuit idx==0 to avoid strncpy_P on non-PROGMEM ""
2026-03-03 08:19:30 -10:00
J. Nick Koston 8335bb5f8e remove unnecessary PROGMEM empty string from weak default
The weak default is only reached when USE_ENTITY_ICON is disabled,
and get_icon_to() already short-circuits with return "" in that case.
2026-03-03 08:18:18 -10:00
J. Nick Koston 4a22afb79d fix: ensure icon empty string is PROGMEM, skip lookup when disabled
- When USE_ENTITY_ICON is disabled, return "" directly without
  calling through the lookup table
- When enabled, ensure the empty-string fallback (index 0 / out of
  range) is a PROGMEM char array so strncpy_P on ESP8266 is safe
2026-03-03 08:15:56 -10:00
J. Nick Koston 1108511c63 move icons to progmem 2026-03-03 08:06:55 -10:00
J. Nick Koston 807e3f9efc move icons to progmem 2026-03-03 08:04:09 -10:00
J. Nick Koston b4bad962b1 Merge branch 'dev' into std-optional 2026-03-03 07:12:29 -10:00
J. Nick Koston 95544dddf8 [ci] Add code-owner-approved label workflow (#14421) 2026-03-03 07:11:47 -10:00
J. Nick Koston b209c903bb [core] Inline trivial Component state accessors (#14425) 2026-03-03 07:05:15 -10:00
J. Nick Koston 4f69c487da [bk72xx] Fix ~100ms loop stalls by raising main task priority (#14420) 2026-03-03 07:04:12 -10:00
J. Nick Koston 78602ccacb [ci] Add lint check to prevent powf in core and base entity platforms (#14126) 2026-03-03 07:03:50 -10:00
J. Nick Koston 1f1b20f4fe [core] Pack entity string properties into PROGMEM-indexed uint8_t fields (#14171) 2026-03-03 07:03:24 -10:00
J. Nick Koston d53ff7892a [socket] Cache lwip_sock pointers and inline ready() chain (#14408) 2026-03-03 07:03:02 -10:00
b6f0bb9b6b [speaker] Add off on capability to media player (#9295)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Kevin Ahrendt <kevin.ahrendt@openhomefoundation.org>
2026-03-03 10:59:01 -05:00
Clyde Stubbs cfde0613bb [const][uart][usb_uart][weikai][core] Move constants to components/const (#14430) 2026-03-03 07:53:18 -05:00