J. Nick Koston and Claude Opus 4.6
f7459670d3
[core] Optimize WarnIfComponentBlockingGuard::finish() hot path ( #14040 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 16:10:22 +00:00
J. Nick Koston
b0085e21f7
[core] Devirtualize call_loop() and mark_failed() in Component ( #14083 )
2026-02-19 08:40:23 -06:00
J. Nick Koston
be853afc24
[core] Conditionally compile setup_priority override infrastructure ( #14057 )
2026-02-18 20:57:56 -06:00
J. Nick Koston
fb89900c64
[core] Make setup_priority and component state constants constexpr ( #14041 )
2026-02-18 08:22:36 -06:00
J. Nick Koston and Jonathan Swoboda
e0712cc53b
[scheduler] Make core timer ID collisions impossible with type-safe internal IDs ( #13882 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-09 13:16:22 -06:00
J. Nick Koston
2383b6b8b4
[core] Deprecate set_retry, cancel_retry, and RetryResult ( #13845 )
2026-02-09 12:05:32 -06:00
J. Nick Koston
1119003eb5
[core] Add missing uint32_t ID overloads for defer() and cancel_defer() ( #13720 )
2026-02-02 22:22:11 +01:00
J. Nick Koston
d5f557ad1c
[scheduler] Eliminate heap allocations for std::string names and add uint32_t ID API ( #13200 )
2026-01-14 09:15:31 -05:00
J. Nick Koston
861ed8dd41
[scheduler] Avoid std::string allocation in RetryArgs ( #12311 )
2025-12-09 09:27:12 -05:00
J. Nick Koston
065c1bfc6a
[core] Fix status_momentary API misuse and optimize parameter type ( #12216 )
2025-12-01 08:34:07 -06:00
J. Nick Koston
97ba67f4ee
[core] Deprecate unsafe const char* APIs in mark_failed() and status_set_error(), add LogString* overloads ( #12021 )
2025-11-24 13:45:56 -06:00
Clyde Stubbs
19e275dc02
[component] Add is_idle method and condition ( #11651 )
2025-11-03 11:33:44 +11:00
J. Nick Koston
8d90f13e97
[core] Store component source strings in flash on ESP8266 (breaking change) ( #10621 )
2025-09-07 20:10:00 -05:00
J. Nick Koston
0c737fc4df
[core] Convert LOG_UPDATE_INTERVAL macro to function to reduce flash usage ( #10636 )
2025-09-08 09:09:15 +12:00
J. Nick Koston
c33bb3a8a9
[esp8266] Store component warning strings in flash to reduce RAM usage ( #10623 )
2025-09-06 23:56:45 -05:00
J. Nick Koston
6ed9214465
[core] Use nullptr defaults in status_set_error/warning to reduce flash usage ( #9931 )
2025-07-28 15:20:30 +12:00
J. Nick Koston
544cf9b9c0
[core] Fix component state documentation and add state helper method ( #9824 )
2025-07-24 15:22:42 +12:00
J. Nick Koston
86e7013f40
Add const char overload for Component::defer() ( #9324 )
2025-07-04 21:52:12 -05:00
J. Nick Koston
03566c34ed
Reduce Component memory usage by 40% (8 bytes per component) ( #9278 )
2025-07-02 13:43:40 +12:00
J. Nick Koston and Copilot
140ca070a2
Optimize scheduler string storage to eliminate heap allocations ( #9251 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-30 15:40:36 +12:00
J. Nick Koston
8ba22183b9
Add enable_loop_soon_any_context() for thread and ISR-safe loop enabling ( #9127 )
2025-06-19 13:30:41 +12:00
J. Nick Koston
2e534ce41e
Reduce CPU overhead by allowing components to disable their loop() ( #9089 )
2025-06-18 21:49:25 +12:00
J. Nick Koston and Jesse Hills
c17a3b6fcc
Reduce Component memory usage by 20 bytes per component ( #9080 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-06-16 09:34:37 +12:00
J. Nick Koston
28d11553e0
Reduce Component blocking threshold memory usage by 2 bytes per component ( #9081 )
2025-06-16 09:33:38 +12:00
J. Nick Koston
374c33e8dc
Optimize Component and Application state storage from uint32_t to uint8_t ( #9082 )
2025-06-15 14:48:53 +12:00
J. Nick Koston
0e27ac281f
Ensure components only powerdown after teardown ( #9044 )
2025-06-11 04:21:22 +00:00
J. Nick Koston
9cc2a04d54
Implement proper API connection teardown before deep sleep/reboot ( #9008 )
2025-06-09 10:29:26 +12:00
J. Nick Koston
574aabdede
Reduce number of calls to fetch time in the main loop ( #8804 )
2025-05-19 07:48:57 +12:00
Stanislav Meduna
6de6a0c82c
Only warn if the component blocked for a longer time than the last time ( #8064 )
2025-05-01 11:57:01 +12:00
Clyde Stubbs
9637ef35bd
[component] Show error message for failed component ( #8478 )
2025-04-07 09:26:34 +00:00
Clyde Stubbs
58fe8b39b2
[scheduler] Properly handle millis() overflow ( #8197 )
2025-03-27 02:09:22 -05:00
Jesse Hills
63fc8ab10a
[core] Const-ify some Component fields ( #6831 )
2024-05-30 02:59:15 -05:00
Alex Boyd
9bfb36f58b
Extract core comments from #6241 ( #6643 )
2024-04-26 21:41:43 +10:00
Clyde Stubbs
774cbde1b6
Show component warnings and errors in the log; ( #6400 )
2024-03-20 12:56:43 +13:00
Dan Jackson and Jesse Hills
d5bfcd3bcf
Support for MS8607 PHT (Pressure Humidity Temperature) sensor ( #3307 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2024-03-05 10:49:57 +13:00
Clyde Stubbs and Jesse Hills
f3ef05f5c3
host platform: improvements and bugfixes ( #6137 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2024-02-07 14:24:06 +13:00
De Cock Xavier
a33b8abce8
Feat/component poller suspend ( #5423 )
2023-10-03 09:25:13 +13:00
Fabian and Your Name
3773c385c7
Ensure component is ready before update. ( #4523 )
...
Co-authored-by: Your Name <you@example.com >
2023-03-07 04:16:42 +00:00
Dan Jackson
029ac75a04
set_retry: add retries remaining parameter to the provided function ( #4251 )
2023-01-18 14:26:32 +13:00
Dan Jackson
ff4fd497c4
Component::set_retry updates ( #3305 )
2022-12-22 20:48:15 +13:00
Jadson Santos and Jesse Hills
41b5cb06d3
New platform ethernet_info from component text_sensor ( #3811 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2022-10-19 13:44:48 +13:00
RoboMagus
78b55d86e9
Unify 'nullptr' initalization of class members; ( #3805 )
2022-09-15 11:53:02 +12:00
Otto Winter
235a97ea10
Make retry scheduler efficient ( #3225 )
2022-05-11 07:54:00 +12:00
448e1690aa
Add retry handler ( #2721 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
2021-11-18 11:59:40 +13:00
Paul Monigatti and Oxan van Leeuwen
471b82f727
EntityBase Refactor ( #2418 )
...
* Renamed Nameable to EntityBase (cpp)
* Renamed NAMEABLE_SCHEMA to ENTITY_BASE_SCHEMA (Python)
* Renamed cg.Nameable to cg.EntityBase (Python)
* Remove redundant use of CONF_NAME from esp32_touch
* Remove redundant use of CONF_NAME from mcp3008
* Updated test
* Moved EntityBase from Component.h and Component.cpp
* Added icon property to EntityBase
* Added CONF_ICON to ENTITY_BASE_SCHEMA and added setup_entity function to cpp_helpers
* Added MQTT component getters for icon and disabled_by_default
* Lint
* Removed icon field from MQTT components
* Code generation now uses setup_entity to setENTITY_BASE_SCHEMA fields
* Removed unused import
* Added cstdint include
* Optimisation: don't set icon if it is empty
* Remove icon from NumberTraits and SelectTraits
* Removed unused import
* Integration and Total Daily Energy sensors now inherit icons from their parents during code generation
* Minor comment correction
* Removed redundant icon-handling code from sensor, switch, and text_sensor
* Update esphome/components/tsl2591/tsl2591.h
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
* Added icon property to binary sensor, climate, cover, and fan component tests
* Added icons for Binary Sensor, Climate, Cover, Fan, and Light to API
* Consolidated EntityBase fields in MQTT components
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl >
2021-10-10 10:37:05 +02:00
Otto Winter and Jesse Hills
ac0d921413
ESP-IDF support and generic target platforms ( #2303 )
...
* Socket refactor and SSL
* esp-idf temp
* Fixes
* Echo component and noise
* Add noise API transport support
* Updates
* ESP-IDF
* Complete
* Fixes
* Fixes
* Versions update
* New i2c APIs
* Complete i2c refactor
* SPI migration
* Revert ESP Preferences migration, too complex for now
* OTA support
* Remove echo again
* Remove ssl again
* GPIOFlags updates
* Rename esphal and ICACHE_RAM_ATTR
* Make ESP32 arduino compilable again
* Fix GPIO flags
* Complete pin registry refactor and fixes
* Fixes to make test1 compile
* Remove sdkconfig file
* Ignore sdkconfig file
* Fixes in reviewing
* Make test2 compile
* Make test4 compile
* Make test5 compile
* Run clang-format
* Fix lint errors
* Use esp-idf APIs instead of btStart
* Another round of fixes
* Start implementing ESP8266
* Make test3 compile
* Guard esp8266 code
* Lint
* Reformat
* Fixes
* Fixes v2
* more fixes
* ESP-IDF tidy target
* Convert ARDUINO_ARCH_ESPxx
* Update WiFiSignalSensor
* Update time ifdefs
* OTA needs millis from hal
* RestartSwitch needs delay from hal
* ESP-IDF Uart
* Fix OTA blank password
* Allow setting sdkconfig
* Fix idf partitions and allow setting sdkconfig from yaml
* Re-add read/write compat APIs and fix esp8266 uart
* Fix esp8266 store log strings in flash
* Fix ESP32 arduino preferences not initialized
* Update ifdefs
* Change how sdkconfig change is detected
* Add checks to ci-custom and fix them
* Run clang-format
* Add esp-idf clang-tidy target and fix errors
* Fixes from clang-tidy idf round 2
* Fixes from compiling tests with esp-idf
* Run clang-format
* Switch test5.yaml to esp-idf
* Implement ESP8266 Preferences
* Lint
* Re-do PIO package version selection a bit
* Fix arduinoespressif32 package version
* Fix unit tests
* Lint
* Lint fixes
* Fix readv/writev not defined
* Fix graphing component
* Re-add all old options from core/config.py
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-09-20 11:47:51 +02:00
Oxan van Leeuwen
1e8e471dec
Introduce call_dump_config() indirection ( #2325 )
2021-09-20 11:16:31 +02:00
Sergey V. DUDANOV
4e120a291e
Midea support v2 ( #2188 )
2021-09-09 09:10:02 +12:00
Peter van Dijk
7f76f3726f
LOG_UPDATE_INTERVAL: correctly report "never" ( #2240 )
2021-09-06 14:47:13 +12:00
Otto Winter
1b89174558
Store source package in Component for debugging ( #2070 )
2021-08-24 06:49:19 +12:00