Commit Graph

13352 Commits

Author SHA1 Message Date
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
J. Nick Koston afb8ba6813 preen 2026-03-03 08:43:35 -10:00
J. Nick Koston 6425c15ee1 bot review 2026-03-03 08:33:04 -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 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
rwrozelle 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
Jesse Hills 903c67c994 Revert "[wifi] Revert cyw43_wifi_link_status change for RP2040"
This reverts commit 1b5bf2c848.
2026-03-03 22:16:54 +13:00
Jesse Hills d8d479cef7 Merge branch 'release' into dev 2026-03-03 22:15:06 +13:00
Jesse Hills f48106b160 Merge pull request #14427 from esphome/bump-2026.2.4
2026.2.4
2026.2.4
2026-03-03 22:07:35 +13:00
J. Nick Koston 1b5bf2c848 [wifi] Revert cyw43_wifi_link_status change for RP2040
The switch from cyw43_tcpip_link_status to cyw43_wifi_link_status
was intended for 2026.3.0 alongside the arduino-pico 5.5.0 framework
update but was accidentally included in 2026.2.3.

With the old framework (3.9.4), cyw43_wifi_link_status never returns
CYW43_LINK_UP, so the CONNECTED state is unreachable. The device
connects to WiFi but the status stays at CONNECTING until timeout,
causing a connect/disconnect loop.

Fixes https://github.com/esphome/esphome/issues/14422
2026-03-03 20:46:31 +13:00
Jesse Hills c4fa476c3c Bump version to 2026.2.4 2026-03-03 20:45:28 +13:00
schrob 60d66ca2dc [openthread] Add tx power option (#14200)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-03-02 23:28:01 -05:00
J. Nick Koston db15b94cd7 [core] Inline HighFrequencyLoopRequester::is_high_frequency() (#14423) 2026-03-03 03:17:20 +00:00
Cody Cutrer ae49b67321 [ld2450] Clear all related sensors when a target is not being tracked (#13602)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-03-02 15:47:40 -10:00
melak c77241940b [lps22] Add support for the LPS22DF variant (#14397) 2026-03-02 15:24:00 -10:00
Kevin Ahrendt 97d713ee64 [media_source] Add new Media Source platform component (#14417)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-02 15:16:38 -10:00
Jesse Hills bc04a1a0ff Merge branch 'release' into dev 2026-03-03 11:35:53 +13:00
Jesse Hills c4869bad88 Merge pull request #14413 from esphome/bump-2026.2.3
2026.2.3
2026.2.3
2026-03-03 11:35:09 +13:00
Jonathan Swoboda 7a87348855 [ci] Skip PR title check for dependabot PRs (#14418)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 16:49:14 -05:00
J. Nick Koston 2e623fd6c3 [tests] Fix flaky log assertion race in oversized payload tests (#14414) 2026-03-02 11:48:50 -10:00
dependabot[bot] 727fa07377 Bump github/codeql-action from 4.32.4 to 4.32.5 (#14416)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 11:44:53 -10:00
Lino Schmidt 5510b45f3b [const] Move CONF_WATCHDOG (#14415) 2026-03-02 11:43:06 -10:00
J. Nick Koston 3615a7b90c [core] Eliminate __udivdi3 in millis() on ESP32 and RP2040 (#14409) 2026-03-02 11:42:25 -10:00
J. Nick Koston d1de50c0e5 [core] Add ESP8266 support to wake_loop_any_context() (#14392) 2026-03-02 21:11:04 +00:00
Jesse Hills dc56cd1d1f Bump version to 2026.2.3 2026-03-03 08:57:52 +13:00
Jonathan Swoboda d2a819eb77 [uart] Fix flow_control_pin inverted flag ignored on ESP-IDF (#14410)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:57:52 +13:00
J. Nick Koston 0ac61cbb9b [improv_serial] Add missing USE_IMPROV_SERIAL define to fix WiFi scan filtering (#14359) 2026-03-03 08:57:47 +13:00
Jonathan Swoboda c9c99a22e0 [core] Defer entity automation codegen to prevent sibling ID deadlocks (#14381)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 08:57:02 +13:00
Clyde Stubbs 91250fd46c [mipi_dsi] Fix Waveshare P4 7B board config (#14372) 2026-03-03 08:52:47 +13:00
J. Nick Koston 641914cdbe [uart] Revert UART0 default pin workarounds (fixed in ESP-IDF 5.5.2) (#14363) 2026-03-03 08:52:47 +13:00
Jonathan Swoboda 840859ab7c [zigbee] Fix codegen ordering for basic/identify attribute lists (#14343)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 08:52:47 +13:00
Jonathan Swoboda 97b712da98 [cc1101] Transition through IDLE in begin_tx/begin_rx for reliable state changes (#14321)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 08:52:47 +13:00
Jonathan Swoboda b5c36140fa [sprinkler] Fix millis overflow and underflow bugs (#14299)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-03 08:52:47 +13:00
J. Nick Koston 48a9c1cd67 [mqtt] Remove broken ESP8266 ssl_fingerprints option (#14182) 2026-03-03 08:52:47 +13:00
Jonathan Swoboda 38f671a923 [uart] Fix flow_control_pin inverted flag ignored on ESP-IDF (#14410)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:52:06 +13:00
J. Nick Koston cb232d8288 [core] Fix compile-time loop() detection for multiple inheritance (#14411) 2026-03-02 19:11:47 +00:00
J. Nick Koston 2fa244715d [socket] Fix pre-existing bugs found during socket devirtualization review (#14404) 2026-03-02 08:54:54 -10:00
netixx b9b1af1c3d [mcp23016] Fix register access to use 16-bit paired transactions (#13676)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-03-02 17:38:28 +00:00
J. Nick Koston a1d91ac779 [core] Compile-time detection of loop() overrides (#14405) 2026-03-02 06:59:23 -10:00
J. Nick Koston 585e195044 [socket] Devirtualize socket abstraction layer (#14398) 2026-03-02 06:58:31 -10:00