J. Nick Koston
28c6fbdc9e
[api] Mark timezone string field as deprecated in GetTimeResponse
...
parsed_timezone struct should be used instead. The string field will be
removed before 2027.1.0.
2026-02-23 16:50:53 -06:00
J. Nick Koston
b4817c424d
[api] Skip timezone update when parsed struct is not populated
...
Old clients (before 2026.3.0) send only the timezone string without the
parsed_timezone struct, so all fields default to zero. Without this check,
the device would overwrite its codegen-configured timezone with UTC.
Keep the codegen timezone when the struct is unpopulated (all zeros).
For actual UTC this also skips, which is harmless since UTC is the default.
2026-02-23 16:49:29 -06:00
J. Nick Koston
199288b813
[time] Fix test namespace for RecalcTimestampLocal and TimezoneOffset tests
...
Move tests that use make_us_central(), set_global_tz(), ParsedTimezone,
and DSTRuleType into esphome::time::testing namespace where those symbols
are declared.
2026-02-23 16:41:20 -06:00
J. Nick Koston
8374ccf7b5
[time] Remove C++ POSIX TZ string parser (bridge code)
...
Remove the runtime POSIX TZ string parser and all associated bridge code
now that timezone data is sent as pre-parsed structs via protobuf.
Removed:
- parse_posix_tz() and internal parsing helpers (skip_tz_name, parse_offset,
parse_dst_rule, parse_uint, parse_transition_time)
- RealTimeClock::set_timezone() overloads and apply_timezone_()
- API connection fallback path for string-based timezone
Kept:
- All conversion functions (epoch_to_local_tm, is_in_dst, calculate_dst_transition)
- Internal helpers used by conversion functions
- localtime_r/localtime overrides
- Tests for all permanent functions
2026-02-23 16:34:14 -06:00
J. Nick Koston
a757838408
[time] Wrap codegen timezone fields in scope block
...
Fixes redeclaration error when multiple time platforms are in the
same build by wrapping the local ParsedTimezone variable in a scope block.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 15:49:35 -06:00
J. Nick Koston
4b400aa79a
avoid ram increase
2026-02-23 15:42:39 -06:00
J. Nick Koston
ba11722e77
[time] Skip POSIX TZ validation for empty timezone strings
...
Empty timezone strings are valid (meaning UTC/no timezone).
The parse_posix_tz_python() validation should only run on
non-empty strings.
2026-02-23 15:00:25 -06:00
J. Nick Koston
49ddaa2002
Merge branch 'posix_tz' into posix_tz_proto
2026-02-23 14:49:09 -06:00
J. Nick Koston
1a99abc629
[time] Add context to test file about bridge code removal timeline
2026-02-23 14:45:37 -06:00
J. Nick Koston
f95d8a33e2
Merge branch 'posix_tz' into posix_tz_proto
2026-02-23 14:44:14 -06:00
J. Nick Koston
de01d766f1
[time] Mark posix_tz parser as bridge code to remove before 2026.9.0
...
The C++ POSIX TZ string parser is only needed for backward compatibility
with older Home Assistant clients that send the timezone as a string.
Once all clients send the pre-parsed ParsedTimezone protobuf struct,
the parser and its helpers can be removed entirely.
See https://github.com/esphome/backlog/issues/91
2026-02-23 14:43:57 -06:00
J. Nick Koston
db6db5fb10
merge proto
2026-02-23 14:25:57 -06:00
J. Nick Koston
9e8efe15d3
Merge branch 'dev' into posix_tz
2026-02-23 14:25:26 -06:00
tomaszduda23
02c37bb6d6
[nrf52,logger] generate crash magic in python ( #14173 )
2026-02-23 20:23:40 +00:00
dependabot[bot]
918bbfb0d3
Bump aioesphomeapi from 44.0.0 to 44.1.0 ( #14232 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-23 20:22:32 +00:00
tomaszduda23
063c6a9e45
[esp32,core] Move CONF_ENABLE_OTA_ROLLBACK to core ( #14231 )
2026-02-23 20:06:20 +00:00
Jonathan Swoboda
daee71a2c1
[http_request] Retry update check on startup until network is ready ( #14228 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-23 14:21:29 -05:00
Jonathan Swoboda
0d32a5321c
[remote_transmitter/remote_receiver] Rename _esp32.cpp to _rmt.cpp ( #14226 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-23 13:46:53 -05:00
J. Nick Koston
5e95b9b36c
Merge branch 'dev' into posix_tz
2026-02-23 12:45:16 -06:00
J. Nick Koston
e199145f1c
[core] Avoid expensive modulo in LockFreeQueue for non-power-of-2 sizes ( #14221 )
2026-02-23 12:20:55 -06:00
Joshua Sing
1f945a334a
[hdc302x] Add new component ( #10160 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-23 12:01:23 -05:00
Jonathan Swoboda
fb6c7d81d5
[core] Fix multiline log continuations without leading whitespace ( #14217 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 05:08:40 +00:00
J. Nick Koston
417f4535af
[logger] Use subtraction-based line number formatting to avoid division ( #14219 )
2026-02-23 04:25:20 +00:00
schrob
ee94bc4715
[openthread] Refactor to optimize and match code rules ( #14156 )
2026-02-22 22:43:42 -05:00
schrob
6801604533
[openthread] Add Thread version DEBUG trace ( #14196 )
2026-02-22 22:40:40 -05:00
schrob
5c388a5200
[openthread_info] Optimize: Devirtualize/unify ( #14208 )
2026-02-22 22:39:36 -05:00
J. Nick Koston
d239a2400d
[text_sensor] Conditionally compile filter infrastructure ( #14213 )
2026-02-22 21:36:21 -06:00
J. Nick Koston
93ce582ad3
[sensor] Conditionally compile filter infrastructure ( #14214 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 21:35:51 -06:00
J. Nick Koston
6e70987451
[binary_sensor] Conditionally compile filter infrastructure ( #14215 )
2026-02-22 21:35:30 -06:00
schrob
263fff0ba2
Move CONF_OUTPUT_POWER into const.py ( #14201 )
2026-02-22 22:35:00 -05:00
J. Nick Koston
ded457c2c1
[libretiny] Tune oversized lwIP defaults for ESPHome ( #14186 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-23 13:52:46 +13:00
J. Nick Koston
b539a5aa51
[water_heater] Fix device_id missing from state responses ( #14212 )
2026-02-22 23:07:56 +00:00
J. Nick Koston
5fddce6638
[logger] Make tx_buffer_ compile-time sized ( #14205 )
2026-02-23 12:02:05 +13:00
J. Nick Koston
ee1f521325
[http_request] Replace std::list<Header> with std::vector in perform() chain ( #14027 )
2026-02-23 11:59:54 +13:00
J. Nick Koston
ede2da2fbc
[core] Conditionally compile get_loop_priority with USE_LOOP_PRIORITY ( #14210 )
2026-02-23 10:57:23 +13:00
J. Nick Koston
509f06afac
[network] Improve IPAddress::str() deprecation warning with usage example ( #14195 )
2026-02-23 10:56:09 +13:00
J. Nick Koston
1753074eef
[web_server_base] Remove unnecessary Component inheritance and modernize ( #14204 )
2026-02-23 10:01:07 +13:00
Edward Firmo
e013b48675
[nextion] Add error log for failed HTTP status during TFT upload ( #14190 )
2026-02-21 23:44:06 -06:00
J. Nick Koston
49e4ae54be
[bme68x_bsec2] Fix compilation on ESP32 Arduino ( #14194 )
2026-02-22 05:22:59 +00:00
J. Nick Koston
d5c9c56fdf
[platformio] Add exponential backoff and session reset to download retries ( #14191 )
2026-02-21 19:41:43 -06:00
J. Nick Koston
a468261523
[scheduler] De-template and consolidate scheduler helper functions ( #14164 )
2026-02-21 19:41:26 -06:00
J. Nick Koston
462ac29563
[scheduler] Use relaxed memory ordering for atomic reads under lock ( #14140 )
2026-02-21 17:29:41 -06:00
J. Nick Koston
6f198adb0c
[scheduler] Reduce lock acquisitions in process_defer_queue_ ( #14107 )
2026-02-21 14:29:50 -06:00
J. Nick Koston
e521522b38
[haier] Fix uninitialized HonSettings causing API connection failures ( #14188 )
2026-02-21 13:54:43 -06:00
J. Nick Koston
5a07908dfa
[api] Fix build error when lambda returns StringRef in homeassistant.event data ( #14187 )
2026-02-21 13:54:20 -06:00
J. Nick Koston
9571a979eb
[ci] Suggest StringRef instead of std::string_view ( #14183 )
2026-02-21 13:53:45 -06:00
tomaszduda23
48ba007c22
[nrf52] print line number after crash in logs ( #14165 )
2026-02-21 14:16:20 -05:00
Clyde Stubbs
6ff17fbf7c
[epaper_spi] Fix color mapping for weact ( #14134 )
2026-02-22 04:17:54 +11:00
J. Nick Koston
416b97311b
[mqtt] Remove broken ESP8266 ssl_fingerprints option ( #14182 )
2026-02-21 11:12:35 -06:00
J. Nick Koston
7fb09da7cf
[dsmr] Add deprecated std::string overload for set_decryption_key ( #14180 )
2026-02-21 11:08:13 -06:00