Jonathan Swoboda
8ffe0f5e31
[core] Fix ANSI codes for secret text hiding ( #15521 )
2026-04-07 22:02:36 -04:00
J. Nick Koston
4d2ef09a29
[log] Detect early log calls before logger init and optimize hot path ( #14538 )
2026-03-10 09:12:10 -10:00
45e61f100c
[core] Replace USE_ESP_IDF with USE_ESP32 across components ( #12673 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-12-27 11:59:55 -10:00
Clyde Stubbs and J. Nick Koston
261b561bb2
[binary_sensor] Add action to invalidate state and pass to HA ( #8961 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-06-12 09:16:20 +10:00
Keith Burzinski
44f1ff10e6
Introduce "communication failed" log macro ( #8939 )
2025-05-29 01:59:38 -05:00
Clyde Stubbs
2489f95107
[logger] Ensure PRIu32 and friends are available ( #8155 )
2025-01-28 23:58:06 +00:00
Stefan Rado
bdb1094b47
Allow external libraries to use ESP_LOGx macros ( #8078 )
2025-01-14 14:20:52 +11:00
a9630ac847
Support for LibreTiny platform (RTL8710, BK7231 & other modules) ( #3509 )
...
Co-authored-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl >
Co-authored-by: Sam Neirinck <git@samneirinck.com >
Co-authored-by: David Buezas <dbuezas@users.noreply.github.com >
Co-authored-by: Stroe Andrei Catalin <catalin2402@gmail.com >
Co-authored-by: Sam Neirinck <github@samneirinck.be >
Co-authored-by: Péter Sárközi <xmisterhu@gmail.com >
Co-authored-by: Hajo Noerenberg <hn@users.noreply.github.com >
2023-09-05 10:16:08 +12:00
Oxan van Leeuwen and Jesse Hills
14e38f0469
Upgrade clang-format to v13 ( #4535 )
...
* Upgrade clang-format to v13
* Apply clang-format-13 formatting changes
* Format
* Format bme_680
---------
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-03-20 03:38:41 +00:00
Oxan van Leeuwen
da056866ff
Drop broken logging macros ( #4534 )
2023-03-09 00:03:33 +00:00
Oxan van Leeuwen and Otto winter
cdda648360
Generate ARDUINO_VERSION_CODE in Python code ( #3101 )
...
Co-authored-by: Otto winter <otto@otto-winter.com >
2022-01-24 10:34:34 +01:00
David Buezas and David Buezas
9124d9d6e6
Change unset ESPHOME_LOG_LEVEL fallback to NONE ( #2982 )
...
Co-authored-by: David Buezas <david.buezas@klarna.com >
2022-01-03 18:58:35 +01: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 and Otto winter
d594a6fcbc
Store strings only used for logging in flash ( #2274 )
...
Co-authored-by: Otto winter <otto@otto-winter.com >
2021-09-13 09:48:52 +02:00
Oxan van Leeuwen
f31e0532c4
Untangle core headers (part 1) ( #2276 )
2021-09-13 09:33:29 +02:00
Oxan van Leeuwen
d71996e58d
Reduce static RAM usage ( #2140 )
2021-08-23 20:43:54 +12:00
SenexCrenshaw
2028362fd5
Buffer allocation and TRUEFALSE templates ( #1644 )
2021-03-27 11:01:37 +13:00
Otto Winter
80214640b1
Filter some debug lines from PlatformIO in output ( #771 )
...
* Filter some debug lines from PlatformIO in output
* Lint
* Strip trailing newline from esp-idf output
* Only create global std::string if on esp32
2019-10-19 14:04:14 +02:00
Otto Winter
904a0b26ea
Make logger string memory usage more efficient ( #641 )
...
* Make logger string storing more efficient
* Lint
2019-06-16 19:14:24 +02:00
Otto Winter
6682c43dfa
🏗 Merge C++ into python codebase ( #504 )
...
## Description:
Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97
Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍
Progress:
- Core support (file copy etc): 80%
- Base Abstractions (light, switch): ~50%
- Integrations: ~10%
- Working? Yes, (but only with ported components).
Other refactors:
- Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`)
- Rework coroutine syntax
- Move from `component/platform.py` to `domain/component.py` structure as with HA
- Move all defaults out of C++ and into config validation.
- Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration.
- Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit.
Future work:
- Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block
- Enable loading from `custom_components` folder.
**Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97
**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs ) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here>
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Tests have been added to verify that the new code works (under `tests/` folder).
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs ).
2019-04-17 12:06:00 +02:00